2013-09-30 64 views
0

我想通過AJAX調用與PhoneGap應用程序中的後端服務器進行通信。來自PhoneGap的AJAX - 跨域問題?

有沒有辦法將PhoneGap應用程序與我擁有的域相關聯,以便請求不必全部使用CORS或JSONP?

如果沒有,是否最好使用CORS或JSONP處理來自PhoneGap的這些AJAX請求?

+0

組成您的應用程序的HTML代碼將不會在任何服務器上「託管」,而會被打包爲真正的本機應用程序,因此不存在「跨域」問題。雖然有白名單,但出於安全目的阻止了您的應用程序發送到外部的請求 - 您必須將後端服務器添加到此白名單。 – MBillau

回答

1

您不必關心來自移動設備的跨域請求。它們不知何故無關緊要。您的設備可以向任何網站的JSON服務發送請求。但是,如果您想在構建和部署到設備之前在PC上進行本地測試,則需要使用JSONP。出於這個原因我總是使用JSONP。

+1

我認爲如果您在沒有JSONP的機器上託管服務器,您可以在本地進行測試。像節點服務器或Uniserver這樣的工具可以在你啓動一個承載你的/ www /文件夾的HTTP服務器並從應用程序向你的IP請求的地方工作 - 只需要改變'href'屬性即可。 – MBillau

+0

@MBillau你是對的。我應該說,如果你想在本地進行測試而不改變你的代碼,那麼你需要jsonp。 – Dom

+0

我想知道是否可以將所有鏈接保留爲相對URL,將您項目的/ www /文件夾託管在您的服務器上,並將應用程序中的入口點(例如,在AndroidManifest.xml中)更改爲IP地址...這樣,你只需要在測試時更改一個URL ... – MBillau