weixin_33726943 2014-10-07 15:19 采纳率: 0%
浏览 29

jQuery和Ajax:赶上500

I have this jQuery code that send an Ajax request on a form submit. My issue is I can't catch timeout error using that code. When I send a 500 response myself it is working but if I get a timeout then I see 500 in the console but nothing happens, the error callback is not executed. Instead I get :

SyntaxError: syntax error

On the line:

$(document).ready(function(){

Here is the full code:

$(document).ready(function(){
    $('body').on('submit', 'form#myForm', function(){
        $.ajax({
            type: "POST",
            url: $(this).attr('action'),
            data: $(this).serialize(),
            dataType: 'json',
            success: function(data, textStatus, jqXHR){
                alert('success!');
            },
            error: function(jqXHR, textStatus, errorThrown){
                alert('error!');
            }
        });
        return false;       
    });
});
  • 写回答

2条回答 默认 最新

  • weixin_33725126 2014-10-07 15:31
    关注

    This may not be the answer you are looking for, but you can set the timeout of the ajax query to match you server, or be slightly less, and trap it, then check the textStatus.

    $.ajax({
        type: "POST",
        url: $(this).attr('action'),
        data: $(this).serialize(),
        dataType: 'json',
        timeout: 3000, //3 Seconds
        success: function (data, textStatus, jqXHR) {
            alert('success!');
        },
        error: function (jqXHR, textStatus, errorThrown) {
            if (textStatus == 'timeout') {
                alert('Failed from timeout');
                //do something. 
            }
        }
    });
    
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!