我收到了从html页面到Node服务的请求。
通过网址访问时,该服务在Firefox和Chrome中完美运行。当我使用curl和Postman时,它可以很好地工作。
当我使用XMLhttpsRequest时,它会启动与错误相关的函数,最终得到 readyState 4, status 0。
我不知道为什么,在特定时间Firefox通过开发人员的控制台让我知道我正在交叉访问(所以我正在访问localhost,但我不会因此而松开它)(顺便说一下:我再也没有收到“穿越”消息我肯定会用我的console.logs触摸一个合理的密钥,我应该删除它)
所以我将这个midleware合并到了我的服务器:
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
当我在Chrome中运行时,它说: 获取https://localhost:3000/oficina/9999 net :: ERR_CONNECTION_CLOSED 我发誓这不是真的。
我的Ajax代码是这样的:
function accede(accion,url,fn) {
var xobj = new XMLHttpRequest();
// console.log("accion: ", accion);
// console.log("url : ", url);
xobj.overrideMimeType("application/json");
xobj.open(accion, url, true);
xobj.onerror = (e) => {
alert("Error del Navegador!!!\nStatus: " +xobj.status +" (" +xobj.statusText+")")
console.log("Falló, Header:")
console.log(xobj.headers)
}
xobj.onprogress = (e) => {
console.log("Progress: ")
}
xobj.onreadystatechange = () => {
console.log("State:",xobj.readyState,"Status:", xobj.status)
if (xobj.readyState == 4 && xobj.status == "200") {
console.log("Fifó!")
}
};
xobj.onload = () => { fn(JSON.parse(xobj.responseText)) };
xobj.send();
}
是的,有人能帮助我吗?