跨域 Ajax 请求是指通过 JavaScript 从一个域名向另一个域名发起的 HTTP 请求。出于安全考虑,浏览器默认会阻止这类请求,这被称为同源策略(Same-Origin Policy)。
在 Firefox 中启用跨域请求有以下几种方法:
注意:这会降低浏览器安全性,仅适用于本地开发测试。
服务端需要设置正确的 CORS (Cross-Origin Resource Sharing) 头:
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, DELETE
Access-Control-Allow-Headers: Content-Type
安装 "CORS Everywhere" 或类似扩展来管理跨域请求。
about:config
security.fileuri.strict_origin_policy
false
前端 Ajax 请求示例:
fetch('https://api.example.com/data', {
method: 'GET',
mode: 'cors', // 明确请求跨域资源
headers: {
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
问题:即使设置了 CORS 头,请求仍被阻止 原因:可能缺少必要的头或方法未在允许列表中 解决:检查服务端返回的所有 CORS 相关头是否完整
问题:带凭证的请求失败
解决:服务端需要设置 Access-Control-Allow-Credentials: true
,且 Access-Control-Allow-Origin
不能为通配符 *