jquery - ajax jquery 总是运行错误

标签 jquery

每次运行我的 ajax jquery 函数时,我都会收到一个错误,这适用于我的所有 ajax 调用。 这是我的代码示例

 function FindContact(CompanyName,DivisionName,FirstName,LastName) {

        $.ajax({
            url: 'Path',
            dataType: "json",
            async:false,
            type:'post',
            data: {'FirstName':FirstName,'LastName':LastName,'DivisionName':DivisionName,'CompanyName':CompanyName},
            success: DisplayContacts,
            error: ErrorMsg
        });
    }

为了解决这个问题,我使用这个

 function ErrorMsg(result) {
        if (result.status == 200 && result.statusText == 'OK') {
            DisplayContacts(result);
        }
        else {
            alert("FAILED : " + result.status + ' ' + result.statusText);
        }
    }

这很困难,因为我需要为每个 ajax 请求创建这样的方法。

为什么它运行第一个错误代码???

请帮忙!

最佳答案

确保您返回的是有效的 json。如果不是,并且服务器上一切正常,$.ajax 将出错而不是成功。

 function FindContact(CompanyName,DivisionName,FirstName,LastName) {

        $.ajax({
            url: 'Path',
            dataType: "html or json",
            async:false,
            type:'post',
            data: {'FirstName':FirstName,'LastName':LastName,'DivisionName':DivisionName,'CompanyName':CompanyName},
            success: DisplayContacts,
            error: ErrorMsg
        });
    }

快速检查 json 是否有效的方法是将 dataType 切换为 html 并查看是否已成功触发。如果是,那么您的 json 无效,如果您仍然遇到相同的问题,则说明有其他问题。

检查是否返回有效 json 的另一种方法是,打开 firebug,当请求发送时,单击“响应”选项卡,复制响应并访问 jsonlint.com 检查其是否有效。

Jquery ajax docs

关于jquery - ajax jquery 总是运行错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5744760/

相关文章:

jQuery onclick 正文中的所有图像

javascript - 在页面加载时使对象定时淡入效果的另一种方法

javascript - 阻止 float 标签重置回原始位置

javascript - 由于添加或删除文件而导致文件冲突, Bootstrap 弹出窗口无法工作

jquery - 使用skrollr插件如何实现仙尘效果?

javascript - 弹出模式仅适用于表中的第一个元素,第二次单击后不会再次打开

javascript - Jquery 工具在 Webkit 中不工作

jquery - 如何使用 jQuery 使文本框出现

javascript - 如何使用 jQuery POST 将 get 变量从 JavaScript 传递到 PHP Mysql

jquery - 升级到 jQuery 1.9+ 后如何检测 IE7