我在使用javascript从我的cordova项目调用我的web api服务时遇到了一些问题。如果我从ripple运行相同的应用程序,它可以正常工作。但是,当我使用visual studio Android模拟器时,我收到错误无法加载资源:net :: ERR_CONNECTION_REFUSED并且我使用fiddler进行检查,我注意到它没有进入服务。
我想知道我做错了什么。提前谢谢。
答案 0 :(得分:0)
尝试将您的服务域网址添加到您网页的内容安全政策(CSP)中。例如,如果您从yahoo天气服务访问数据,则需要添加" https://query.yahooapis.com"到页面的CSP。 CSP只是位于页面内部的一行HTML。它看起来像这样:
<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 *">
&#13;
在该行https://ssl.gstatic.com之后添加您的服务域网址。 例如,如果您的服务域网址是&#34; https://query.yahooapis.com&#34;,那么当您完成后,您的CSP将如下所示:
<meta http-equiv="Content-Security-Policy" content="default-src 'self'
data: gap: https://ssl.gstatic.com https://query.yahooapis.com 'unsafe-eval';
style-src 'self' unsafe-inline'; media-src *">
&#13;
通过将您的服务域网址添加到您的CSP,您可以向此页面授予从该服务获取内容的权限。