Android 用にラップしようとしている Phonegap/Jquery モバイル アプリがありますが、使用しているターゲット SDK は Ajax/クロスドメイン リクエストを許可していません。つまり、リクエストは最新の Android 4.0.3 (API 15) では正常に機能しますが、Android 2.3.3 (API 10) では機能しません。これは、Galaxy Tablet との互換性を保つために必要なものです。phonegap に包まれており、Firebug/Chrome Web ツールを使用できないため、実際のエラーが表示されないため、これをデバッグするのに苦労しています。私はdeveloper.android.comで運がなかった。$.mobile.allowCrossDomainPages = true; を含むhttp://jquerymobile.com/test/docs/pages/phonegap.htmlにある手順を試しました。$.support.cors = true.
これもうまくいきませんでした。誰でも私を助けてくれますか、他に何を試すべきかわかりません。ありがとう!
コードの簡単な例を次に示します。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);
}