Javascript 尝试从api获取json数据时的Cordova安全策略
这是我在为cordova应用程序执行此jquery时遇到的错误Javascript 尝试从api获取json数据时的Cordova安全策略,javascript,jquery,json,api,cordova,Javascript,Jquery,Json,Api,Cordova,这是我在为cordova应用程序执行此jquery时遇到的错误 jquery-1.11.1.min.js:4 Refused to connect to 'https://xxxxxxxx/v1/common/introductions/faqs' because it violates the following Content Security Policy directive: "default-src 'self' data: gap: https://ssl.gstatic.co
jquery-1.11.1.min.js:4 Refused to connect to
'https://xxxxxxxx/v1/common/introductions/faqs' because it
violates the following Content Security Policy directive: "default-src
'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'". Note that
'connect-src' was not explicitly set, so 'default-src' is used as a
fallback.
这是我的index.html中的安全策略
$(document).ready(function(){
$("#FAQS").html("Hello worldss!");
alert("rajesh");
$.getJSON("https://xxxxxxxxx/v1/common/introductions/faqs",
function(result)
{
$("#FAQS").html(result['faq'][0]);
alert("hi");
})
});
我在stack overflow中跟踪了许多问题
但是无法显示我的json数据,并且显示了相同的错误。首先,您应该使用较新版本的jquery 其次,您需要在服务器上设置访问策略,以允许用户界面中的COR 在php中,它如下所示:
<meta http-equiv="Content-Security-Policy" content="default-src 'self'
data: gap: https://ssl.gstatic.com 'unsafe-eval'; connect-src 'self'
https://xxxxxxxx/v1/common/introductions/faqs; style-src 'self'
'unsafe-inline'; media-src *">
connect-src 'self' https://xxxxxxxx
查看以下内容:
如果您想将https://apis.google.com/js/plusone.js
您必须像这样将源主机的名称添加到您的CSP中
<?php
header("Access-Control-Allow-Origin: *");
因此,允许访问https://xxxxxxxx/v1/common/introductions/faqs
您必须将相应的主机名添加到您的CSP中:
script-src 'self' https://apis.google.com
一个完整的CSP可以如下所示:
<meta http-equiv="Content-Security-Policy" content="default-src 'self'
data: gap: https://ssl.gstatic.com 'unsafe-eval'; connect-src 'self'
https://xxxxxxxx/v1/common/introductions/faqs; style-src 'self'
'unsafe-inline'; media-src *">
connect-src 'self' https://xxxxxxxx
另请参见connect src指令中的。它明确说明了主机源的外观:
按名称或IP地址以及可选URL方案和/或端口号排列的Internet主机。该站点的地址可能包括一个可选的
前导通配符(星号“*”),可以使用
通配符(同样是“*”)作为端口号,表示所有
端口对源有效
你能用https://xxxxxxxx
only?@shakib yesp使用connect src'self'https://xxxxxxxx;代码>应执行以下操作:job@shakibapi正在运行,那么shakibs提案对您有效吗?您正在等待DeviceRady,对吗?CSP和CORS是不同的事情。CSP限制您的页面可以做什么以及可以从何处加载内容(标题限制出站请求)。CORS限制哪些页面可以向您的站点发出特定类型的请求(标题限制入站请求-XMLHttpRequest、web字体、WebGL纹理和画布图像)。