jQuery AJAX $.Ajax和$.对成功或失败条件都不发出警报

jQuery AJAX $.ajax and $.get not alerting on either success or failure conditions

本文关键字:条件 Ajax AJAX jQuery 成功 失败      更新时间:2023-09-26

我一直在用我的loadTable.php文件尝试一些jQuery AJAX,它响应JSON输出。然而,我似乎不能得到$。Ajax或$。开始工作吧。下面的代码根本不警告任何东西,即使我在成功和失败条件中都放置了警告函数。显然,这不是最终的功能,但即使有了这个简单的警报功能,它也无法工作。我做错了什么?

$('#tableLoad').click(function () {
  $('#sortable tbody').html('');
  $.ajax({
    type: 'GET',
    url: 'loadTable.php',
    dataType: 'json',
    data: data,
    success: function (data) {
      alert('Success!');
    },
    failure: function () {
      alert('Something went wrong!');
    }
  });
})

使用error, failure不是有效选项,参见$.ajax

error: function (jqXHR, textStatus, errorThrown) {
  alert('Something went wrong!');
}

如果您正在使用jQuery>=1.5 $。Ajax返回一个承诺,任何延迟对象也是如此。这意味着您可以将成功或错误函数链接到ajax调用的末尾。

然而,它们被称为完成和失败,而不是成功或错误。在下面的例子中,"always"完全按照它所说的去做,无论成功还是失败都被调用。

$.ajax( "example.php" )
   .done(function() {
     alert( "success" );
   })
   .fail(function() {
     alert( "error" );
   })
   .always(function() {
     alert( "complete" );
   });