CORS标题'Access-Control-Allow-Origin'缺少Cordova

时间:2016-04-04 10:43:50

标签: javascript cordova phonegap-plugins

我正在创建一个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

1 个答案:

答案 0 :(得分:0)

在移动设备中构建和运行config.xml时,您的设置会生效。对于开发,您可以使用我的插件:https://addons.mozilla.org/en-US/firefox/addon/cross-domain-cors/?src=ss启用跨域并在Firefox中运行您的应用。