【问题标题】:Ajax call fails immediately with textStatus: error and HTTP status 0 on Cordova, in iosAjax 调用立即失败,并在 ios 中的 Cordova 上出现 textStatus: error 和 HTTP status 0
【发布时间】:2017-08-27 15:26:25
【问题描述】:

我已经处理了 3 周,但仍然没有解决方案。所以发生的事情是我正在使用 Cordova 并且我的 ajax 调用在它们被调用后立即返回。立即,因为错误消息就在日志中发送消息的下方。 HTTP 状态始终为 0,textStatus 为“错误”。起初,白名单似乎是个问题,但我已经将它添加到我的 config.xml 中:

<access origin="*" />
<allow-navigation href="*" />
<allow-intent href="*" />

我已将白名单插件和 Cordova 升级到最新版本,没有任何改进(分别为 1.2.2 和 6.5.0)。

我开始怀疑这可能是因为我的服务器不支持 ipv6,但我尝试了一些随机 ajax 调用到朋友的服务器,结果是一样的。他们没有常规错误,只是相同的即时消息。

错误是这样的 javascript 数据对象:

{"readyState":0,"status":0,"statusText":"error"}

我想我的选择已经不多了。有人有什么想法吗?

【问题讨论】:

  • 这种情况发生在我身上两次。我认为这是科尔多瓦本身的问题,不知道是什么触发了它。我通过再次删除和添加平台来解决它。如果它不起作用,请创建一个具有相同名称和插件的新项目,并将 WWW 文件夹替换为旧项目。它会起作用的。
  • @ArpitVasani 尝试再次删除和添加平台,然后尝试创建一个全新的项目并替换我的 www 文件夹。没有。触发 ajax 后仍会立即返回,因为它不是异步调用。
  • 你的 index.html 有 Content-Security-Policy 吗?如果是,请在评论后尝试,因为这可能是一个问题。

标签: jquery ios ajax cordova whitelist


【解决方案1】:

如果你有一个表格添加

onsubmit="return false"

API 调用被取消,因为表单正在重新加载页面,在 API 调用结果返回之前。

【讨论】:

    猜你喜欢
    • 2020-11-26
    • 2016-03-20
    • 1970-01-01
    • 2012-12-30
    • 2018-12-24
    • 2014-12-17
    • 2014-12-15
    • 2011-10-24
    • 1970-01-01
    相关资源
    最近更新 更多