'error' 属性 怎么会不是有效的 属性 或 ajax 的方法?

How would the 'error' property not be a valid property or method of ajax?

我有一个移动 cordova 应用程序。当我 运行 它并尝试登录时。我收到以下错误:

JavaScript 运行时间错误:对象不支持 属性 或方法 'error'

这是错误引用的代码块:

 $.ajax({
           url: url,
           type: 'POST',
           data: { domainName: domain, username: username, password: password, appId: appId }


       })

           .done(function (json) {


               if (json.success) {
                   that.set("isLoggedIn", true);
                   token = json.token;
                   username = username;
                   isAuthenticated = true;
                   $('#show-Loader').hide();
                  window.location("#esig");


               }
               else {
                   navigator.notification.alert("No User Found", function () { }, "Login failed", 'OK');
                   //alert(json.error);
                   $('#show-Loader').hide();
                   return;
               }

           })
           //For some reason the following 'Property or Method' is not supported by $.ajax() 
      .error(function (xhr, status, error) {
          navigator.notification.alert('Unable to Connect to Server' + '\n' + ' Please check Settings.', function () { }, "Connection Failed", 'OK');
          $('#show-Loader').hide();
      });
   },

有人知道为什么我会收到此 JavaScript 错误吗?本质上,我希望它通过无法连接到服务器的错误。这就是我正在测试的。

使用 .fail() 而不是 .error()。 (.error() 不存在)

你可以做

$.ajax({
    success: function() { ... },
    error: function() { ... }
});

$.ajax({ ... })
    .done(function() { ... })
    .fail(function() { ... })
    .always(function() { ... });  //<-- optional

推荐后者