jquery - 无法从json ajax请求获取我的错误消息

标签 jquery ajax json error-handling

我使用$.ajax() jquery进行一些ajax调用。最近,我有一个ajax调用,它返回json格式的字符串以成功调用。在我的服务器php代码中,如果出现问题,我只返回一个字符串数据(die("nothing found in database");),该字符串是非json格式的,这是一条说明问题的消息。 ajax调用可以正常工作,但是我很难获得该字符串响应。

这是JavaScript代码:

$.ajax({
    url: "check.php",
    dataType: "json",
    data: {
        row_id : row_id
    },
    async: false
}).done(function(data) {
    check = data;
}).fail(function( jqXHR, textStatus, msg ){
    $('#dialog').html("<p>"+textStatus+"</p>");
    $('#dialog').dialog({
        modal: true,
        buttons: {
            "OK": function() {
                $( this ).dialog("close");
            }
        }
    });
});
.fail()函数中的3个变量均未提供我从服务器发送的字符串响应。该textStatus只是给我“parseerror”。 msg变量给我:“意外 token T”。我想要的只是使用die()函数从.php文件发送的纯字符串。我测试以确保php正确发送了字符串。有谁知道我应该如何获得字符串数据响应?

也许这不是处理此问题的正确方法。我在想,因为ajax调用确实没有错误,它只是我选择返回普通字符串而不是JSON,这表明存在问题。

最佳答案

从ajax调用中删除数据类型:“json”,,并在使用响应字符串之前使用JSON.parse()。
因为如果发生JSON解析问题,那么您将在此处收到错误消息。

但是我怀疑这是否是问题。

关于jquery - 无法从json ajax请求获取我的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26870626/

相关文章:

javascript - 在 ajax 调用之前运行 javascript 函数

ios - iPad - 解析一个非常大的 json - 文件(50 到 100 mb 之间)

javascript - ajax post to spring mvc 附加 "="标志来请求数据

ajax - Wicket - 如何正确地重新加载/刷新可重用组件?

javascript - Symfony2 和 AJAX - 如何将 AJAX 调用与toggleClass() 方法集成

php - 如何将特定变量从 PHP 返回到 Android

SQL 选择从联接返回键控对象

javascript - 如果显示站点的替代版本则弹出

javascript - 使用 jQuery 插入 "invalid"内容

javascript - 悬停+点击联合 Action