gpt4 book ai didi

Jquery-jsonp 在 Android 上给出 "error",但在桌面浏览器中则不然

转载 作者:行者123 更新时间:2023-12-01 04:52:09 24 4
gpt4 key购买 nike

我在 jQueryMobile(包括 jQuery)和 jquery.jsonp(一个用于 jsonp 调用的特殊库)的组合中遇到了这个问题。

This是 jquery.jsonp 库的 git 存储库。不久前,我决定使用这个特殊的库,而不是使用 $.ajax 和 datatype:"jsonp" 选项,所以我不记得确切的原因,除了它是或看来是有必要的。

我已经环顾四周并遵循 this related Q&A 中的建议:(1)我本地加载所有js等文件(2) $.support.cors 和 $.mobile.allowCrossDomainPages 设置为 true(3) jQuery声明的$变量周围没有冲突

代码

所以肯定发生了一些不同的事情。这是我的代码...

$.jsonp({
data: allData,
url: 'https://www.ssl-id.net/afford-it.me/functions/spendable2.php',
cache: false,
timeout: 6000,
callbackParameter: "callback",
success: function(returned,status){ ... },
error: function(repeatedOptions,status){...},
complete: function(repeatedOptions,status){...},
};

错误

当应用程序触发此 jsonp 命令时,将触发错误事件(以及完整事件),并且它给出的状态为“错误”。根据docs,这也可能是超时。 。另外,在控制台中,有一个“未知的 Chrome 错误:0”

鉴别诊断

当我在桌面浏览器中运行应用程序时没有问题:它只发生在 Android 上。 This guy有一个很好的解释(Android 会拒绝 html 中任何缺失的结束标记,这只会在进行跨域调用时导致问题),但它对我没有帮助。

谁能弄清楚这里出了什么问题吗?如果需要,我很乐意提供更多数据。

最佳答案

所以我明白了,感谢 this Q&A在 Stackoverflow 上。这是关于访问来源。阻碍的不是 Android,而是 Phonegap。

Phonegap 不允许跨域,除非您在 config.xml 文件中指定域名。

准确的说,应该放在[myProject]/www文件夹下的config.xml文件中,否则下次构建时会被覆盖。这是Phonegap documentation on whitelisting .

关于Jquery-jsonp 在 Android 上给出 "error",但在桌面浏览器中则不然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18470250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com