jan*_*mon 216 javascript php ajax error-handling jquery
我正在向我的jQuery发送错误响应.但是,我无法得到响应文本(在下面的示例中,这将是去海滩)
jQuery唯一说的就是"错误".
有关详情,请参阅此示例:
PHP
<?
header('HTTP/1.1 500 Internal Server Error');
print "Gone to the beach"
?>
Run Code Online (Sandbox Code Playgroud)
jQuery的
$.ajax({
type: "post",
data: {id: 0},
cache: false,
url: "doIt.php",
dataType: "text",
error: function (request, error) {
console.log(arguments);
alert(" Can't do because: " + error);
},
success: function () {
alert(" Done ! ");
}
});
Run Code Online (Sandbox Code Playgroud)
现在我的结果是:
日志:
[XMLHttpRequest readyState=4 status=500, "error", undefined]
Run Code Online (Sandbox Code Playgroud)
警报:
做不到因为:错误
有任何想法吗?
Ale*_*ini 292
尝试:
error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(err.Message);
}
Run Code Online (Sandbox Code Playgroud)
Hao*_* Li 51
对我来说,这只是工作:
error: function(xhr, status, error) {
alert(xhr.responseText);
}
Run Code Online (Sandbox Code Playgroud)
Bra*_*rks 13
error: function(xhr, status, error) {
var err = JSON.parse(xhr.responseText);
alert(err.Message);
}
Run Code Online (Sandbox Code Playgroud)
小智 7
这对我有用
function showErrorMessage(xhr, status, error) {
if (xhr.responseText != "") {
var jsonResponseText = $.parseJSON(xhr.responseText);
var jsonResponseStatus = '';
var message = '';
$.each(jsonResponseText, function(name, val) {
if (name == "ResponseStatus") {
jsonResponseStatus = $.parseJSON(JSON.stringify(val));
$.each(jsonResponseStatus, function(name2, val2) {
if (name2 == "Message") {
message = val2;
}
});
}
});
alert(message);
}
}
Run Code Online (Sandbox Code Playgroud)
最好的简单方法:
error: function (xhr) {
var err = JSON.parse(xhr.responseText);
alert(err.message);
}
Run Code Online (Sandbox Code Playgroud)
如果您想获得带有行号的语法错误,请使用此
error: function(xhr, status, error) {
alert(error);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
536267 次 |
| 最近记录: |