后面的都能理解,第一点的确是不知道的。 之前就有时候会出现前端请求跨域,然后就会让后端处理一下跨域。 但是奇怪的就是游览器报跨域后端压根没有收到任何请求。 那么 OP 说的第一点就让我稍微想得通一点了,肯定是出现了 node 的服务出现了异常导致没法正确转发。 回想一下也是每次遇见这种情况往往是本地重启一下服务就好了。 想想以前全都是 ajax 一把嗦,后端配置好了还真没遇见过前面说到的这种问题。
你这有点东西都没说清楚,不严谨,比如你说的《为啥我见过浏览器发 option 请求?》 这叫预检请求,不是每次都发,只有当发起复杂请求时才会发起,使用 fetch 、xhr 发起 无复杂参数(浏览器认为无副作用)的 get 和 post 是 *没有预检请求* 的,而且服务器能收到并且正确处理 但是也需要返回允许 cors 的 headers ,否则浏览器不会把 response 传递给 js
chrome --user-data-dir="C:/Chrome dev session" --disable-web-security --disable-site-isolation-trials
@shadowyue #43 这个是知道的游览器做了拦截。 只不过还是有一点点疑惑,那就是我描述的这种情况的话。 原因是游览器发送了真正的请求地址从而被游览器认定跨域拦截, 还是说像描述中一样是因为一些问题导致 node 启动的服务没有正确转发呢?