我有一个基本的Web应用程序-一段时间没有任何错误。 有时-我不确定是什么网络问题,我不确定- 而且仅在手机(Android / chrome)上-基本的AJAX返回错误-但没有值。
这让我有些疯狂-因为我不知道如何调试空白错误。
基本的AJAX帖子:
$.post("<?php echo base_url(); ?>"+controller_G+"/"+Method_Param_G+"?"+Math.random()+"&SEARCH_STRING="+SEARCH_STRING_G, $("#"+Data_G).serialize(), function(data, status){
}).done(function(data){
// OWNER SEARCH VIA APP
if(data.indexOf("Search term found:") > -1){
// Happy Days! :)
}
}).fail(function(xhr, textStatus, errorThrown){
$("#ajax_message").modal();
$("#ajax_error_message_inner_text").html(textStatus+" -> "+errorThrown+" -> "+xhr.responseText);
});
ajax_message 会产生“ 错误->->未定义”
我无法在桌面浏览器镶边中复制此错误-在那里一切正常。
了解以下内容也会有所帮助: 无论如何,在android / iphone中进行调试的典型方法是什么? 手机上的AJAX典型错误是什么?
当我在手机上重新加载页面时-正常操作会返回一段时间。 最终另一个错误返回。
答案 0 :(得分:1)
错误事件没有“ xhr,状态,错误”参数。
尝试一下:
$.ajax({
url: "<?php echo base_url(); ?>"+controller_G+"/"+Method_Param_G+"?"+Math.random(),
type: 'POST',
data: formData,
cache: false,
contentType: false,
processData: false,
success:function(data){
// Happy days :)
},
error: function(jqXHR, exception){
var msg = "";
console.log(jqXHR);
if (jqXHR.status === 0) {
msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
console.log(msg);
}});
答案 1 :(得分:1)
使用chrome开发人员工具调试应用。浏览此Link
设置后,就像其他任何常规的Web调试一样,在“网络”选项卡中可以看到Ajax错误。