繁体   English   中英

Ajax失败5%的时间,响应是“错误”

[英]Ajax fails 5% of time, response is “error”

我正在使用jQuery处理Ajax调用。 我注意到,大约有5%的时间,ajax调用失败。 为了确保我对发生的问题有很好的了解,我使用以下代码:

$.ajax({

    type:'POST',
    url:'somepage.php',
    data:{somedata:somedata},
    success:function (data) {

        var IS_JSON = true;

        try
         {
            var newdata = jQuery.parseJSON(data);
         }
         catch(err)
         {
           IS_JSON = false;
         }

         if(IS_JSON)
         {
            //this is the part where a correct response is handled

         }
         else
         {
          //In case somepage.php gives a php-error, I put the exact error (=data) in the error-table at error.php.
         window.location = "error.php?errorstring="+data;
         }


    },
    error:function (XMLHttpRequest, textStatus, errorThrown) {
        //In case the ajax errors, I store the response (timeout, error, ...) in the database at error.php
        window.location = "error.php?errorstring="+textStatus;

    }

});

“良好”响应包含我解析的JSON。 如果不是JSON(例如,只是来自php错误的原始文本),我不会尝试解析它,而是将错误存储在数据库中。

我会理解在somepage.php上发生的包含php错误的错误(因为它安静了一个大页面),但是我很惊讶我得到的主要错误是ajax失败的错误。 响应数据只是“错误”。

有人知道原因可能是什么吗? 是什么导致ajax调用失败 不是超时 ,也不是没有找到somepage.php之类的东西。 在somepage.php上也不是错误,因为在这种情况下,Ajax调用将成功,并且php-error将记录在我的数据库中。

编辑:我使用混淆器使脚本更难阅读...不知道这是否可能导致错误...

您应该在ajax调用中设置dataType: 'json' 如果您未进行设置并且期望json结果,则默认情况下该结果将被视为“字符串”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM