我在发出 Ajax 跨域请求时遇到了一些奇怪的问题。我在 chrome 开发工具的控制台中收到以下错误:
请求的资源错误中不存在“Access-Control-Allow-Origin” header
但是,当我查看网络请求时,它会传递浏览器 CORS 预检请求,因为请求从预检请求失败时的 OPTIONS 更改为 GET,并且响应与我通过 postman 获得的响应相同。但是,Ajax 失败消息被触发,因此即使在开发工具中请求看起来成功,我也无法通过 JavaScript 访问成功的响应。
附加信息是,发出 ajax 请求的文件只是一个带有内联 JavaScript 的 HTML 文件,我直接从文件目录中打开该文件。我认为这可能是我的问题,但找不到任何明确说明这一点的内容,因此我需要确认。
有关 API 的注意事项:设置适当的访问控制 header
最佳答案
您必须在每个响应中传递一些(如果不是全部,我还没有检查过),而不仅仅是对飞行前 OPTIONS
请求的响应。
关于javascript - 请求的资源错误上不存在 'Access-Control-Allow-Origin' header 。请求成功但触发失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43087752/