Javascript 与GET请求一起发出的虚假ajax选项请求
我正在用下面的代码发出一个标准的ajax请求Javascript 与GET请求一起发出的虚假ajax选项请求,javascript,node.js,ajax,Javascript,Node.js,Ajax,我正在用下面的代码发出一个标准的ajax请求 let x = new XMLHttpRequest(); x.onload = function(event) { …}; x.open("GET", url, true); x.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); x.send(); 问题是,出于某种原因,我无法理解,提出了两个ajax请求。第一个是选项请求,第二个是我实际想要的GET请求。知道为
let x = new XMLHttpRequest();
x.onload = function(event) { …};
x.open("GET", url, true);
x.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
x.send();
问题是,出于某种原因,我无法理解,提出了两个ajax请求。第一个是选项请求,第二个是我实际想要的GET请求。知道为什么吗
我的服务器是一个nodejs应用程序,我正在使用它启动nodemon
,如果它感觉到index.js
发生了变化,就会重新启动服务器(这在开发中很有帮助,当你不想停止并重新启动服务器时)。使用此选项业务,nodemon
认为我的index.js
已更改并重新启动nodejs
此外,选项请求会导致返回http 200的成功请求。但是,最初启动ajax请求的网页不会返回任何内容(这可能是在选项请求之后,nodemon
会立即重新启动nodejs
。然后重复GET请求,同样是200,网页会得到结果
问题是,出于某种原因,我无法理解,会发出两个ajax请求。第一个是选项请求,第二个是我真正想要的GET请求。知道为什么吗
因为您正在进行跨源呼叫(例如,从http://localhost
至http://localhost:someport
),这通常是不允许的。因此浏览器会发送一个“飞行前”选项请求,以查看服务器是否希望通过允许呼叫