私は最初のPhoneGapアプリケーションを構築していますが、現時点では概念実証のみです。PhoneGapアプリケーションからサーバーへのJSON呼び出し - 応答なし
私がしたいことは、JSONPを使用してAjax呼び出しを実行して、バックエンドサーバーのデータベースからレコードを取得することです。コードはブラウザでは完全に動作していますが、PhoneGap Buildを使用してAndroid .apkを作成すると、その呼び出しは何もしません。 ページが開き、ローカルのJavascriptが機能します。私はlocalStorageを使用することもできます。
しかし、アプリケーションが私のインターネットへの通信を許可していないようです。コードがある場合は
var json = new Object();
var docunid = $("#policyNumber").attr("data-docunid");
$("#statusInfo").html("Loading " + docunid + "...");
json["unid"] = docunid;
$.ajax({
url: "http://www.example.com/websites/losscontrol/ajax_GetInspectionDetails.jsonp",
dataType: "jsonp",
data: json
});
:私はここに
<access origin="*"/>
など
<config-file platform="android" parent="/manifest" mode="merge">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
</config-file>
を追加したconfig.xmlで
は、コールを行い、関連するjQueryのコードです実行されると、「Loading xxxxxxxx ...」というメッセージが表示され、その後は何も表示されません。ブラウザではすべて動作し、データが取得され、値がコールバック関数によって表示されます。
私には何が欠けていますか?
更新: 私はそれを解決することができました。ネットワークの人たちは私の知らないうちにWebサーバーを外部からブロックしていました。 ファイアウォールの内側にあるコンピュータのブラウザでコードを実行すると機能しましたが、同じURLが電話機のPhoneGapアプリケーションから呼び出されたときに(ファイアウォールの外側で)、単に機能しませんでした。
コンソールにエラーがありますか?あなたのアプリにコンテンツセキュリティポリシーがありますか? – Phonolog
コンソールにエラーはありません(Web経由でアクセスするときのことを前提にしています)。私はそれを確認するためにFirebugを使用しています。 私はコンテンツセキュリティポリシーを持っていません、私はそれをgoogledし、今すぐ入れてテストします。 –
更新:をHTMLファイルに追加しましたが、変更はありません。まだロードされていません。 –