当前位置: 首页 > 知识库问答 >
问题:

升级到Cordova 5.0 Cordova后,Ajax请求失败-android@4.0

葛飞扬
2023-03-14

我最近升级到Cordova 5.0(和Cordova Android 4.0),从那时起,我的应用程序无法再访问外部资源。

我还有<代码>

我已经验证没有请求击中服务器,所以它似乎被Android停止,但日志没有给出任何解释为什么...

我可以通过Android浏览器很好地访问有问题的URL,但不能通过应用程序访问。

ajax请求是通过对主干网的调用发出的。主干的sync()。js,最终称为jquery的$。ajax()。我没有改变打电话的方式。。。刚刚升级了cordova。

Cordova 5.0中是否有新的网络请求要求/设置,或者我需要做的与以前的Cordova版本不同的事情?

有没有人知道我可以通过什么方式获得更多信息,了解Android和/或Cordova拒绝该请求的原因?

共有3个答案

井逸明
2023-03-14

两件事

  1. 确保您使用的ajax url允许跨源请求
  2. 在进行跨源请求时是否传递相关标头

阅读

http://enable-cors.org/

如何在AngularJs中启用CORS

http://backbonetutorials.com/cross-domain-sessions/

萧明贤
2023-03-14

在Cordova 6. X中,您需要删除内置的白名单插件并重新安装新版本的插件。

cordova plugin remove cordova-plugin-whitelist

并重新安装插件

cordova plugin add cordova-plugin-whitelist

然后更换<代码>

湛宜春
2023-03-14

我找到了凶手android@4.0.0科尔多瓦平台。现在需要新的cordova插件白名单插件。

它可以安装在

cordova plugin add cordova-plugin-whitelist

或通过添加

<plugin name="cordova-plugin-whitelist" spec="1" />

config.xml,然后配置

<allow-navigation href="*" />

取代旧的,<代码>

当出现这样的问题时,日志不再显示“白名单拒绝”错误消息,这有点恼人(这会为我节省很多时间),但可能以后会出现。

 类似资料:
  • 问题内容: 我最近升级到了Cordova 5.0(和Cordova Android 4.0),从那时起,我的应用程序无法再访问外部资源。 我仍然在config.xml中(如前),并且仍然在AndroidManifest.xml中(如前),但是ajax调用被拒绝,没有任何解释(“ textStatus”参数为“错误”,“ errorThrown”参数为null,并且xhr.state()返回“已拒绝

  • 请求: 主机:Tempuri.org用户代理:Mozilla/5.0(Windows NT 6.1;WOW64;RV:37.0)Gecko/20100101 Firefox/37.0接受:text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8接受-语言:en-US,en;q=0.5接受-编码:gzip,deflate来源:http

  • 问题内容: 我已经看到您可以指定如果ajax请求失败通常要做什么,是否可以让它在某种循环中重试,以便它在停止之前尝试至少x次?我以前使用过此代码: 这将适用于所有AJAX请求(如果我输入错了,请纠正我)。 我想做这样的事情: 这行得通吗?甚至更好:这是正确的方法吗?我会将重试包装在计数系统中,以便不会无限重试。在我的应用程序中,十分之九会正常工作,但是我经常与之交互的API之一有时会返回错误。 任

  • 任务“:app:CheckReleaseDuplicateClasses”执行失败。

  • 我最近将我项目的android studio版本从2.3Canary2更新到了2.3Canary3。从那以后,gradle构建每次都失败,错误是: Gradle的依赖项缓存可能已损坏(这有时发生在网络连接超时之后。)重新下载依赖项和同步项目(需要网络) 分级构建进程(守护进程)的状态可能已损坏。停止所有Gradle守护进程可能会解决这个问题。停止分级生成进程(需要重新启动) 您的项目使用的第三方插