我正在创建一个cordova-appache应用程序,用于与Web服务器通信(获取并发送http请求到http://192.168.1.1/cgi/json/ ****)
在我的代码javascript中我正在使用xhr,当我发送第一个get请求时,服务器用json响应回复我并给我一个会话ID并且我跟踪wireshark的响应,
fisrt问题http.status返回0
控制台日志中的第二个问题我有这条消息Reason: CORS header 'Access-Control-Allow-Origin' missing.
我在config.xml中添加了这个
<allow-navigation href="http://*/*"/>
<allow-navigation href="https://*/*"/>
<allow-navigation href="data:*"/>
这是javascript代码:
http.open('GET', request_field, true);
http.setRequestHeader("Access-Control-Allow-Origin", "*");
http.setRequestHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
http.setRequestHeader("Access-Control-Allow-Methods","POST, GET, OPTIONS, DELETE, PUT, HEAD");
http.send();
像我正在使用的环境: Ubuntu的 cordova版本:6.1.1 nodejs版本:v0.10.25 和Firefox
答案 0 :(得分:0)
在移动设备中构建和运行config.xml时,您的设置会生效。对于开发,您可以使用我的插件:https://addons.mozilla.org/en-US/firefox/addon/cross-domain-cors/?src=ss启用跨域并在Firefox中运行您的应用。