来自 File:// URL 的请求出现“Access-Control-Allow-Origin 不允许 Origin Null”问题
简介:
从文件://向不同域执行AJAX请求时URL,开发人员可能会遇到与“Access-Control-Allow-Origin 不允许 Origin null”相关的错误。出现此问题的原因是一种称为跨域资源共享 (CORS) 的安全措施,该措施限制跨域请求。
问题:
来自以下位置的 AJAX 请求file:// URL 的来源为空,这是 CORS 不允许的。浏览器会阻止这些请求,以防止跨域未经授权的访问资源。
解决方案:
要解决此问题,可以采用两种主要方法:
使用 JSONP请求:
JSONP(带填充的 JSON)是一种通过将响应包装在回调函数中来允许跨域请求的技术。通过在 URL 中指定回调函数名称,浏览器可以将响应解释为函数调用而不是 AJAX 请求。要使用 JSONP:
示例:
$.get(url, { callback: 'myCallback' }, function(data) { // Handle the response data });
使用 HTTP URL 进行测试:
CORS 限制不存在对来自 http:// URL 的请求强制执行。因此,测试来自 http:// URL 的请求可以绕过空源问题。此方法对于调试和验证服务器端 CORS 配置非常有用。
故障排除提示:
以上是为什么我的来自 `file://` URL 的 AJAX 请求失败并显示'Access-Control-Allow-Origin 不允许 Origin Null”?的详细内容。更多信息请关注PHP中文网其他相关文章!