私はこの問題を解決しようと高低を検索しましたが、役に立ちませんでした。自分のマシンでローカルにホストされているサーバーに Phonegap アプリを接続しようとしていますが、常にタイムアウトします。このコードを使用して簡単なアプリを作成し、最終的に Sam Croft のコードを完全にコピーしました。それでもタイムアウトします。samcroft で PHP スクリプトに接続すると、アプリが動作し、アプリにデータを取得できますが、彼の URL を私の URL に置き換えると、タイムアウトになります。私の PHP スクリプトはブラウザで完全に動作しますが、Android 仮想デバイスでは動作しません。ホワイトリストに追加http://127.0.0.1*
するかどうかは関係ありません。妙に(?)追加しなくてもhttp://samcroft.co.uk*
samcroft.co.uk でスクリプトを実行すると、アプリは適切に実行され、データが取得されます。私は Eclipse で開発し、Cordova 2.6.0 を使用しています。およびjquery 1.9.1。これらのファイルの古いバージョンを試してみましたが、結果は同じでした。
以下の js コードの URL では完全に機能しますが、URL を次のように置き換えると'http://127.0.0.1/landmarks.php'
、タイムアウト エラーが発生します。ポート番号を URL に追加しようとしましたが、同じエラーが発生します。私も'http://localhost/landmarks.php'
同じエラーで使用しようとしました。(2つのlandmark.phpファイルは同じですが、私のものはローカルのMySQLサーバーに接続しています)。
js コード:
$.ajax({
url: 'http://samcroft.co.uk/demos/updated-load-data-into-phonegap/landmarks.php',
dataType: 'jsonp',
jsonp: 'jsoncallback',
timeout: 5000,
success: function(data, status){
$.each(data, function(i,item){
var landmark = '<h1>'+item.name+'</h1>'
+ '<p>'+item.latitude+'<br>'
+ item.longitude+'</p>';
output.append(landmark);
});
},
error: function(xhr, ajaxOptions, thrownError){
alert(ajaxOptions);
}