当我尝试向服务器发出http请求时,我在Internet Explorer中收到以下网络错误,它将转到错误回调函数:
SCRIPT7002:XMLHttpRequest:网络错误0x2ef3,无法完成 由于错误00002ef3
的操作
在Chrome和Firefox中,它将转到错误回调函数并显示以下错误:
XMLHttpRequest无法加载网址。没有'Access-Control-Allow-Origin' 标头出现在请求的资源上。原点'null'是 因此不允许访问。
以下是代码:
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 :(得分: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 :(得分:-1)
将contentType设置为'application / json; charset = utf-8'解决问题。