我正在構建我的第一個PhoneGap應用程序,目前只是一個概念驗證。從PhoneGap應用程序到服務器的JSON調用 - 沒有迴應
我想要做的是執行Ajax調用(使用JSONP)從後端服務器上的數據庫檢索記錄。該代碼在瀏覽器中運行良好,但是當我使用PhoneGap Build創建Android .apk時,該調用沒有任何作用。 打開頁面,並使用本地Javascript。我甚至可以使用localStorage。
但似乎應用程序不允許我通信到互聯網。
在config.xml中我已經加入
<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>
下面是相關的jQuery代碼做呼叫:
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
});
當代碼執行,正在顯示消息「正在加載xxxxxxxx ...」,則不顯示任何消息。在瀏覽器中,它一切正常,檢索數據和回調函數顯示的值。
我缺少什麼?
更新: 感謝西蒙的評論,我設法解決它。網絡人員已經阻止了Web服務器從外部訪問,而我不知道它。 因此,當我在防火牆內的計算機上的瀏覽器中執行代碼時,它的工作正常,但是當我的手機上的PhoneGap應用程序(並因此在防火牆外)調用相同的URL時,它根本無法使用。
控制檯中的任何錯誤?你的應用中是否有內容安全策略? – Phonolog
控制檯中沒有錯誤(假設您在通過Web訪問它時討論)。我正在使用Firebug來檢查。 我沒有內容安全策略,我使用它並將現在放入並測試。 –
更新:我添加了的HTML文件,但我沒有看到任何改變。仍然沒有加載。 –