[deepin]使用jquery AJAX的get方法访问express路由时网页重定向被拦截

操作系统: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规则,或者不支持跨域访问,则预检请求不会通过。

 

  

posted @ 2020-02-10 18:18  临岳少侠  阅读(556)  评论(0编辑  收藏  举报