操作系统:deepin
环境:nodejs+express+jquery
问题:使用“$.get('/load')”访问express路由
“router.get('/load',function(req,res,next){
res.redirect("http://www.bing.com");
})”时,浏览器控制台中显示错误信息:
“Access to XMLHttpRequest at 'http://www.bing.com/' (redirected from 'http://localhost:8080/load')
from origin 'http://localhost:8080' has been blocked by CORS policy:
Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.”
将错误信息机翻:
以"http://www.bing.com/"访问 XMLHttpRequest(从"http://localhost:8080/load"重定向)
从原点"http://localhost:8080"已被 CORS 策略阻止:
对预检请求的响应不会通过访问控制检查:不允许对预检请求进行重定向。
名词:
1.预检请求
如果一个请求是非简单请求,则浏览器则会向服务器发送预检请求
2.CORS
HTTP访问控制规则
初步了解:使用AJAX方法异步跨域请求,属于非简单请求,服务器端如果没有设置CORS规则,或者不支持跨域访问,则预检请求不会通过。