【发布时间】:2013-08-30 11:38:03
【问题描述】:
结合使用 jQueryMobile(包括 jQuery)和 jquery.jsonp(用于 jsonp 调用的特殊库)时,我遇到了这个问题。
This 是 jquery.jsonp 库的 git 存储库。不久前,我决定使用这个特殊的库,而不是使用带有 datatype:"jsonp" 选项的 $.ajax,所以我不记得确切原因,除非它是或似乎是必要的。
我已经环顾四周并遵循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,这也可能是超时的。 另外,在控制台中,是一个“未知的铬错误:0”
鉴别诊断
当我在桌面浏览器中运行应用程序时没有问题:它只发生在 Android 上。 This guy 有一个很好的解释(Android 会拒绝 html 中任何缺少的结束标记,这只会在进行跨域调用时导致问题)但它对我没有帮助。
谁能弄清楚这里出了什么问题?如果需要,我很乐意提供更多数据。
【问题讨论】:
标签: jquery jquery-mobile jsonp