3

我有一个关于 ajax 成功的问题。因此,在以前的情况下,我返回了类似 ID 的数据,但现在在这种情况下,我返回了整个表。所以我想在检索数据之前检查 Ajax 是否成功(200 OK)。最好的方法是什么?我还使用新的方法来检索数据并检查 JQuery 的错误。这是我的代码示例:

<div id="box"></div>

function getSlots(fld){
    var userID = '134';

    $j.ajax({
        type:  'POST',
        url:  'AjaxData.html',
        cache:  false,
        data:  {'userID':userID},
            dataType: "html",
            async:   false
        })  
        .done(function(html){
            $j('#box').html(html);
        })
        .fail(function(jqXHR, textStatus, errorThrown){ 
            gwLogIt(errorThrown);
        }); 
    }
4

2 回答 2

4

你不需要检查。在以下条件下调用各种回调:

  • .done()或者success:在 AJAX 调用成功时调用。
  • .fail()error:在出现错误时调用(来自服务器或在解析响应的 jQuery 代码中)。
  • .always()或者complete:在任何一种情况下都被调用。
于 2016-04-29T19:13:42.853 回答
2

来自官方文档:

$.ajax({
  statusCode: {
    404: function() {
      alert( "page not found" );
    }
  }
});

http://api.jquery.com/jQuery.ajax/

另外,如果您使用 babel 之类的东西来转译 ES6,您可以使用fetchapi 进行 ajax 调用。我个人在 2 年前就停止使用 jQuery 了。当搬到 React 世界时 :)

于 2016-04-29T19:09:01.843 回答