javascript - 请求的资源错误上不存在 'Access-Control-Allow-Origin' header 。请求成功但触发失败

标签 javascript json ajax

我在发出 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/

相关文章:

javascript - 在 D3 Graph 中使用 JSON 内部的数组

javascript - 如何为每个类应用一个函数的效果?

javascript - D3 条形图故障排除

javascript - 为什么 JS Regexp 不支持 "negated alternation"或 "negated string classes",也许其他的也不支持?

java - 没有通过 Ajax 的 Servlet 响应

javascript - 自动填充动态字段的 ajax 响应

jquery - Rails 5 jQuery .ajax 方法数据格式

javascript - JQuery 选项卡中的 Highcharts - 调整隐藏选项卡代码的大小会停止调整可见选项卡的大小

javascript - 在初始 .ajax 调用之外使用 JSON 数据 - 访问剩余的 JSON 数据

javascript - JSON - JavaScript 获取嵌套值