2015-11-25 61 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

相关问题