[LayaAir3]HttpRequest自定义了headers,就会报跨域的问题,是设置的方式不对吗?

let xhr = new Laya.HttpRequest();
xhr.http.withCredentials = true; // 确保请求带上 cookie
// xhr.once(Laya.Event.COMPLETE, this, onRequestComplete);
// xhr.once(Laya.Event.ERROR, this, onRequestError);
let headers = [
"user_id", "1"
];
xhr.send(url, null, "get", "json", headers);
如果去掉headers,就是一个正常的请求,只是404,因为没有自定义headers
let xhr = new Laya.HttpRequest();
xhr.http.withCredentials = true; // 确保请求带上 cookie
// xhr.once(Laya.Event.COMPLETE, this, onRequestComplete);
// xhr.once(Laya.Event.ERROR, this, onRequestError);
xhr.http.setRequestHeader("client", "3");
xhr.send(url, null, "get", "json");
如果这样设置,就会报Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPENED.
 
该怎么自定义一些请求头参数呢???
已邀请:

谷主

赞同来自:

第一个写法没有问题。Header会正常设置进去的,你可以跟踪代码。报不报跨域你排查其他问题了。或者你直接用XMLHttpRequest也行,HttpRequest也就是对它的简单封装,详细可看源码。

要回复问题请先

商务合作
商务合作