我使用$.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/