我有一个 Phonegap/Jquery 移动应用程序,我正在尝试为 Android 打包,但我使用的目标 SDK 不允许 Ajax/跨域请求。简而言之,这些请求适用于最新的 Android 4.0.3 (API 15),但不适用于 Android 2.3.3 (API 10),这是我需要与 Galaxy 平板电脑兼容的。我很难调试这个,因为我看不到实际的错误,因为我被包裹在 phonegap 中并且无法使用 Firebug/Chrome 网络工具。而且我在 developer.android.com 上没有任何运气。我已经尝试了位于http://jquerymobile.com/test/docs/pages/phonegap.html的步骤,包括 $.mobile.allowCrossDomainPages = true; $.support.cors = 真。
这也不起作用。谁能帮帮我,我不知道还有什么可以尝试的。谢谢!
这是代码的快速示例。请注意,它返回 success = true 但遇到“响应不是 XML 元素”错误:
return $.soapRequest({
url: url,
namespace: 'testns',
returnJson: false,
shortMethod: 'methodname',
method: 'longmethodname',
params: params || {},
success: function(data) {
if (data && data.documentElement) {
// hits this on Android SDK 15
if (successFn) {
return successFn(data.documentElement);
}
}
else {
// hits this on Android SDK 10
return fail("Response is not an XML element!");
}
},
error: function(str) {
return fail(str);
}