在Cordova上net :: ERR_NAME_NOT_RESOLVED之后永远不会调用jQuery.ajax错误函数

时间:2015-10-01 15:09:36

标签: jquery ajax cordova

我安装了Cordova 4.3的应用程序。当我尝试使用jQuery.ajax访问那个当时没有工作的网站(由于失败,维护模式等等)时,应用程序会抛出一个我无法捕获的错误(因为它& #39;在异步任务中)并且JS的任何进一步执行都会停止工作。我注意到这个错误是通过调用一个不存在的子域而产生的,并且它弹出了net::ERR_NAME_NOT_RESOLVED错误。

这里的问题是jQuery错误方法永远不会被调用。

代码是荒谬的标准:

$.ajax({
  url: dummy_path + script_name,
  dataType: "script",
  success: function(course) {
    // it works, when success
  },
  error: function() {
    // never called
  }
});

我已尝试使用正确的值传递timeoutstatusCode参数,调用complete并尝试.abort()。没有运气!

1 个答案:

答案 0 :(得分:0)

我认为您需要在$ .ajax配置对象中配置超时,因此请添加以下内容:

timeout: 10000

如果未设置,只要浏览器允许,它就会运行。在科尔多瓦的情况下,这可能是无限期的。文档为here