Androidのphonegap 2.5.0アプリケーションでajaxを機能させようとして立ち往生しています。スタックオーバーフローとグーグルでスキャンしましたが、何も役に立たないようです。ご意見をお聞かせください。
したがって、次のような単純な AJAX GET リクエストを作成しようとしています。
var app = {
initialize: function() {
this.bindEvents();
},
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
onDeviceReady: function() {
var url='http://test.dev/app_dev.php/stuff/add-external?callback=test';
alert('connecting to '+url);
$.ajax({
type: 'GET',
url: url,
dataType: 'jsonp',
crossDomain: true,
contentType: "application/json",
success: function(res) {
alert('success:'+res);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
},
complete: function(data) {
alert('complete');
}
});
}
};
phonegapでは必要ないように見えますが、jsonpを使用していますが、ブラウザでのテストに役立ちます。したがって、これはブラウザでテストすると機能します。「URLに接続しています」、「成功」、「完了」というアラートが表示されます。ただし、phonegapでは、「URLに接続しています」と警告するだけで、何もしません。
config.xmlに追加<access origin="*" />
し、res/xml/config/xml にも追加しました。また、次のアクセス許可を AndroidMainfest.xml に追加しました。
<?xml version="1.0" encoding="utf-8" ?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:windowSoftInputMode="adjustPan" package="com.phonegap.exampleapp" android:versionName="1.1" android:versionCode="1">
<supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:resizeable="true" android:anyDensity="true" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
これは私の res/xml/plugins.xml です
<?xml version="1.0" encoding="utf-8" ?>
<plugins>
<plugin name="NetworkStatus" value="org.apache.cordova.NetworkManager" />
</plugins>
まだ機能していません:(。どんな助けも大歓迎です。ありがとう!