2016-03-21 27 views
1

我一直在研究phonegap應用程序,直到今天Ajax post請求會卡住加載並且未成功或失敗回調沒有被調用,但是當我在瀏覽器上試試它的效果非常好。Jquery ajax在電話應用程序上不起作用

有沒有人遇到過這個問題,如果是的話,你是如何解決它的?

預先感謝您

編輯:

這是我的第一個混合應用程序,我沒有使用桌面應用程序。現在我只針對iOS,目標版本是3,而我正在使用版本

+1

請**回答您的帖子下面的問題**。因爲這似乎是你在這個問題上的第一篇文章。這是你的第一個混合應用程序? 您使用的是桌面應用程序嗎?你的目標平臺和目標版本是什麼:Android 4,5,6? iOS 7,8,9?您是否在使用[CLI,SDK或Build](https://github.com/jessemonroy650/top-phonegap-mistakes/blob/master/new-to-Phonegap.md#001)?請不要假設答案,請閱讀鏈接。一旦你在帖子*中回答問題*,回覆評論,所以我知道你已經添加了信息到帖子。 – JesseMonroy650

+0

@ jesseMonroy650請參閱 – user3659384

+0

目標版本3的編輯部分? Android和iOS都不支持這些版本。 – JesseMonroy650

回答

2

較新版本的phonegap會自動阻止對任何服務器發出的所有請求。您需要按照說明使其工作。

添加在你的config.xml中的 「Cordova Whitelist Plugin

<gap:plugin name="cordova-plugin-whitelist" spec="1.1.0" /> 

或者乾脆

<plugin name="cordova-plugin-whitelist" spec="1.1.0" /> 

之後嘗試把你的config.xml中的下列

<content src="index.html" /> 

上述是源目錄中HTML文件的路徑。

<access origin="*" /> 

將允許您向任何使用ajax的服務器發出請求。如果你想限制你的應用程序只是一個單一的域名,然後使用這樣的東西。

<access origin="http://yourdomain.com" /> 

最後,把下面的意圖

<allow-intent href="http://*/*" /> 
<allow-intent href="https://*/*" /> 
<allow-intent href="tel:*" /> 
<allow-intent href="sms:*" /> 
<allow-intent href="mailto:*" /> 
<allow-intent href="geo:*" /> 
+0

這個完美的作品 –

+0

謝謝你完美的作品 – user3659384

0

對於誰擁有這個(我知道這不是原來的問題)Android用戶:

我有同樣的問題,花了如上所述,許多時間都與各種白名單指令不一致。其實,我的問題是不同的:我的.apk文件沒有正確簽名。奇怪的是,我的Android手機在試圖安裝.apk的時候並沒有把它踢出去:只要我試圖做一個ajax調用,它就會失敗。我發現問題是因爲Google Play拒絕接受上傳。

我正在使用Adobe PhoneGap Build來創建.apk:當我將我的Android密鑰庫添加到構建中時,問題得到解決(並禁用了調試,我認爲這並不相關,但我不確定)。

0

其對我來說工作: 路徑平臺/ Android的更新文件的AndroidManifest.xml:

<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"/> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>