2016-04-04 26 views
1

我創建了一個cordova-appache應用程序,我在這裏與網絡服務器通信(獲取併發布http請求到http://192.168.1.1/cgi/json/ ****) 在我的代碼中javascript我使用的是xhr,當我發送第一個獲取請求時,服務器用json響應回覆我並給我一個會話id,然後我按照wireshark的迴應, fisrt問題http.status返回0 控制檯中的第二個問題登錄我有這個消息Reason: CORS header 'Access-Control-Allow-Origin' missing.CORS header'Access-Control-Allow-Origin'缺少科爾多瓦

我在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的 科爾多瓦版本:6.1.1 版本的NodeJS:v0.10.25 和Firefox

+0

''in config.xml' – Rayon

+0

done,但不起作用!!! – mntsr

+0

你是否從你的'webservice'發送頭文件? – Rayon

回答

0

你的配置設置。當您在移動設備上構建並運行它時,xml會起作用。對於開發,您可以使用我的插件:https://addons.mozilla.org/en-US/firefox/addon/cross-domain-cors/?src=ss啓用跨域並在Firefox中運行您的應用程序。

+0

嗨Tan Mai Van,我有同樣的問題,CORS頭'Access-Control-Allow-Origin'缺失 – mntsr

+0

我有相同的消息:跨域請求被阻止:相同的源策略不允許讀取位於http://192.168.1.1/cgi/****的遠程資源。 (原因:缺少CORS頭'Access-Control-Allow-Origin')。 – mntsr

+0

你使用哪個版本的firefox? –