首页 > web前端 > js教程 > 为什么我的来自 `file://` URL 的 AJAX 请求收到'Access-Control-Allow-Origin 不允许 Origin null”错误?

为什么我的来自 `file://` URL 的 AJAX 请求收到'Access-Control-Allow-Origin 不允许 Origin null”错误?

Linda Hamilton
发布: 2024-12-23 05:30:25
原创
588 人浏览过

Why Does My AJAX Request from `file://` URLs Get an

来自 file:// URL 的请求出现“Access-Control-Allow-Origin 不允许 Origin null”错误

问题: 开发人员在通过 jQuery 的 AJAX 支持从 file:// URL 向 Panoramio 发出请求时遇到问题。控制台中出现错误“Access-Control-Allow-Origin 不允许 Origin null”。

根本原因分析:

  • 不正确的请求类型: GET 请求应使用“jsonp”的数据类型或包含“callback=?”在 URL 中启用 JSONP,这是跨域请求所必需的。
  • file:// URL 的 CORS 限制: 跨域资源共享 (CORS) 标头无法授权来自file:// 通过 echo-back 带有 null Origin header 的 URL

解决方案:

要解决此问题,需要执行以下步骤:

  1. 使用 JSONP请求: 使用 $.getJSON 或将 dataType 设置为“jsonp”以让 $.get 触发JSONP,如果“callback=?”则将请求类型修改为“jsonp”存在于 URL 中。
  2. 避免 file:// URL: 确保通过 http:// URL 进行测试,因为 file:// URL 的 CORS 支持有限。

故障排除说明:

  1. 验证 JSONP 用法: 确保 $.get 的 dataType 设置为 jsonp 或 $.getJSON 与“callback=?”一起使用
  2. 跨域请求的 CORS: 通过 http:// 进行测试,以避免 file:// URL 的 CORS 限制。确认浏览器支持 CORS,因为 Opera 和 Internet Explorer 已延迟实现。

以上是为什么我的来自 `file://` URL 的 AJAX 请求收到'Access-Control-Allow-Origin 不允许 Origin null”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板