jQuery AJAX $ .ajax和$ .get无法在成功或失败条件下发出警报

时间:2014-08-15 22:35:04

标签: javascript jquery ajax json get

我一直在用我的loadTable.php文件尝试一些jQuery AJAX,这个文件回应了JSON输出。但是,我似乎无法获得$ .ajax或$ .get来工作。即使我在成功和失败条件下都设置了警报功能,以下代码也不会发出任何警报。显然这不是最终的功能,但即使使用这个简单的警报功能,它也不起作用。我做错了什么?

$('#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!');
    }
  });
})

2 个答案:

答案 0 :(得分:4)

使用errorfailure不是有效选项,请参阅$.ajax

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

答案 1 :(得分:0)

如果你使用jQuery> = 1.5 $ .ajax会返回一个promise,就像任何延迟对象一样。这意味着您可以将成功或错误函数链接到ajax调用的末尾。

然而,它们被称为完成和失败,而不是成功或错误。在下面的示例中,#34;始终"无论成功与否,它都能完成所说的内容。

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