2017-03-22 76 views
0

当我试图做一个HTTP请求到服务器,我收到在Internet Explorer下面的网络错误,它会错误回调函数:获取网络错误

SCRIPT7002: XMLHttpRequest: Network Error 0x2ef3, Could not complete the operation due to error 00002ef3

和在Chrome和Firefox它会错误回调函数,并显示以下错误:

XMLHttpRequest cannot load the url. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

下面是代码:

HTTPRequestConts.GET_NAV = https://abc.xyz.com:8090/autoregisterbymobileno?id=ODgyODAyMDMzNg;;&cver=ios_3.0.1&dev=QTMzNkZCQUEtREVEQy00RUE4LTlDQTYtMjg0RDk0QkIyRDRB&lv=0&imei=MzUzMjg1MDcyNjY2ODQxMA;;&oem=100001&dm=QXBwbGU;&osv=aU9TMTAuMC4y"; 
var c = new HTTPRequest(HTTPRequestConts.GET_NAV); 
c.setRequestMethod(HTTPRequestConts.GET), c.setCINResponseParser(), 
c.setCallback(new NavProxyCallback({ 
    onSuccess: function onSuccess(response) { console.log('success' + JSON.stringify(response)); }, 
    onError: function onError(err) { 
     console.log('failure' + JSON.stringify(err)); }}, false)), 
    HTTPClient.getInstance().send(c); 
+0

http://stackoverflow.com/questions/20035101/no-access-control-allow-origin-header-is-present-on-the-requested-resource – soorapadman

+0

请将你正在尝试执行的代码添加到问题,以便您可以轻松帮助。 –

回答

0

您正在提出跨产地请求。

当您从另一个域或端口请求资源而不是第一个资源本身提供的资源时,会发生这种情况。 https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

根据造成它的原因,您可以让服务器处理请求并将其发送到客户端,也可以在请求服务器上启用交叉源域(未完成)启用所有域)

你如何做到这一点取决于服务器。例如在节点快递 https://enable-cors.org/server_expressjs.html 请注意,在该链接,它启用所有。

res.header("Access-Control-Allow-Origin", "*"); 

取而代之的*与您自己的域名。

-1

将contentType设置为'application/json; charset = utf-8'来解决问题。

+0

您也可以参考此链接 - > http://stackoverflow.com/questions/14527387/script7002-xmlhttprequest-network-error-0x2ef3-could-not-complete-the-operati –

+0

为什么要解决这个问题?将它添加到请求没有任何意义 - 这是一个GET请求 - 并且错误消息是权限问题,JSON在那里没有得到特别处理。 – Quentin