ajax - 从 AJAX 获取错误消息时出现问题 - 仅在电话上出错

标签 ajax error-handling

我有一个基本的网络应用程序 - 它有一段时间没有错误。 偶尔 - 对于我所期望的一些网络问题,我不确定 - 并且仅在手机(Android/chrome)上 - 基本 AJAX 返回错误 - 但没有任何值(value)。

这让我有点抓狂——因为我不知道如何调试一个空白的错误。

基本的 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 产生“error -> -> undefined

我无法在我的桌面浏览器 chrome 中复制此错误 - 一切似乎都很好。

了解以下内容也会有所帮助: 无论如何,在 android/iphone 中调试的典型方法是什么? 手机上 AJAX 的典型错误是什么?

当我在手机上重新加载页面时 - 会暂时恢复正常操作。 最终返回另一个错误。

最佳答案

错误事件没有“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);
}});

关于ajax - 从 AJAX 获取错误消息时出现问题 - 仅在电话上出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51201732/

相关文章:

javascript - 更新同一页面内的 php 变量而无需重新加载页面

node.js - 如何捕获nodejs连接静态404错误?

ruby-on-rails - gem ::RemoteFetcher::FetcherError::SSL_connect returned=1 erno=0 state=SSLw3

Python multiprocessing.Pool.map 悄然死去

javascript - 使用 jQuery 获取 session 值

jquery - 如何将事件绑定(bind)到 AHAH 请求的 HTML 中的链接组

php - 基于PHP域的许可系统

javascript - 未选择 IF radio

javascript - 如何将PHP Post数据放入jquery ajax请求中?

php - 无法从表单获取数据到函数