2015-11-25 60 views
0

我創建了一個使用jQuery手機的網站,它連接到我創建的用於獲取數據的php網絡服務。該網站在桌面瀏覽器和移動瀏覽器上均可正常工作。 我已經構建了Android和iOS的項目,他們無法從互聯網上檢索任何數據。科爾多瓦應用程序沒有互聯網

對託管服務器的域所做的所有Ajax請求均失敗。 的要求之一是:

var getSchedule = $.ajax({ 
     type: "POST", 
     dataType: "json", 
     url: "https://www.lefkatis.com/nba/APIData.php", 
     data: {"action": "schedule"} 
    }); 
getSchedule.done(function (data) { 
    console.log('Schedule Loaded'); 
}); 
getSchedule.fail(function (getSchedule, textStatus, errorThrown){ 
    console.log(errorThrown); 
}); 

該項目使用同一代碼的工作網站是here

請隨時問我任何額外的信息,可以幫助,因爲這是我的第一個計算器後。

請記住,這是我第一次科爾多瓦應用

回答

2

在科爾多瓦5和更新默認情況下,他們將除非您設置在您的index.html適當的內容安全策略meta標籤全部失敗 - 科爾多瓦將阻止所有的Ajax否則請求。

您可以在頭元件,以允許訪問任何服務器添加像這樣到您的網頁做到這一點:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; connect-src *"> 

或者,你可以限制連接-SRC只在服務器(S)你要使用像這樣的空間分隔的列表來訪問:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; connect-src https://www.lefkatis.com"> 

有一個詳細的博客文章,解釋這一點,和其他考慮爲iOS 9明確here。由於您的服務器正在運行SSL連接,因此只需使用適用於iOS 9的內容安全策略即可,並且不需要在項目中配置App Transport Security例外。

+0

我在android和iOS上都測試它,並且出現同樣的問題。這沒有解決它:/ 任何其他建議? – Andreas

相關問題