2012-08-10 47 views
0

我創建了一個使用jQuery和jQueryMobile的HTML5網站。Phonegap:無法通過HTTP調用遠程主機

如果我在瀏覽器中運行它,一切正常。

當我把它部署到PhoneGap的通過iPhone模擬器,它不會找到我包括像這樣的jQuery對象($):

<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script> 

console.log($); // undefined 

如果我修改了src屬性,讓自己的應用程序用了jQuery的本地副本,jQuery的對象存在:

<script src="lib/jquery.js"></script> 

console.log($); // works 

然後我發現沒有我的阿賈克斯我的應用程序工作中調用。

因此,我假設我的iPhone應用程序拒絕HTTP連接到遠程主機。

我該如何解決這個問題?


更新:我查在我的應用程序部署在iPhone應用程序中的URL,它看起來像這樣:

文件:///用戶/移動/庫/應用程序支持/ iPhone模擬器/5.1/Applications/9767E436-B93422-5423-5HLD-1680170C8AC5/MyApp.app/www/index.html

+0

您是否在HTTPS上運行您的Web應用程序? – zvona 2012-08-10 11:51:03

+0

@zvona沒有,沒有HTTPS。 – Timo 2012-08-10 11:55:33

回答

3

您需要指定允許連接到在Cordova.plist

此功能,主機被稱爲Whitelist並避免您的應用連接到您不想要的服務器

+0

是的,這是訣竅!我在Xode中打開了Cordova.plist並將值'* .jquery.com'添加到'ExternalHosts'。這工作。非常感謝! – Timo 2012-08-10 12:10:27

+0

如果我們在瀏覽器上檢查頁面,情況如何。 – Nassif 2013-06-25 04:23:38