我的脚本中有一个jQuery ajax
函数的奇怪问题。
我的问题only
发生在我的朋友计算机上,但我的电脑上没有任何东西。
我尝试将错误功能属性警告错误内容但strange
发生了
$.ajax({
url : EXECUTION_URL + 'ajax/users.php',
type : 'POST',
error : function( err1, err2, err3 ) {
alert(err2 + ' : ' + err3 + ' , ' + err1.responseText);
},
data : {
'value' : 'val',
'type' : 'email'
},
success : function( data, statusText, xhr ) {
alert(data)
},
});
重要的一点是:
alert(err2 + ' : ' + err3 + ' , '+ err1.responseText)
但它只会触发:'error: , '
为什么会这样?以及我如何知道发送此请求的错误
答案 0 :(得分:1)
尝试使用$.ajaxSetup()来获取正确的错误:
$(function() {
$.ajaxSetup({
error: function(jqXHR, exception) {
if (jqXHR.status === 0) {
alert('Not connect.\n Verify Network.');
} else if (jqXHR.status == 404) {
alert('Requested page not found. [404]');
} else if (jqXHR.status == 500) {
alert('Internal Server Error [500].');
} else if (exception === 'parsererror') {
alert('Requested JSON parse failed.');
} else if (exception === 'timeout') {
alert('Time out error.');
} else if (exception === 'abort') {
alert('Ajax request aborted.');
} else {
alert('Uncaught Error.\n' + jqXHR.responseText);
}
}
});
});
删除ajax调用中的错误函数,然后调用ajax方法。如果出现一些错误,ajax设置会捕获它并根据发生的错误显示正确的警报。
答案 1 :(得分:0)
您尝试提醒的对象可能无法转换为字符串(对于警报文本)。尝试使用console.log
。
那么你就会知道发生了什么,你就能解决问题。
答案 2 :(得分:0)
您的错误功能
error : function( err1, err2, err3 ) { // is equivalent to
error : function(jqXHR, textStatus, errorThrown)
Possible values for the second argument (besides null) are "timeout", "error", "abort", and "parsererror".
也许err2为null,这就是你看不到err2输出的原因