response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "POST,GET"); response.setHeader("Access-Control-Allow-Headers", "Authentication,Content-Type");
if($request_method != (POST|GET|HEAD)){ return 403; }
response.setHeader("Access-Control-Allow-Origin", "a.mycompony1.com"); response.setHeader("Access-Control-Allow-Methods", "POST,GET");
若是前端请求用PUT方式或者跨域域名为b.mycompony.com,后端返回200状态码,可是实际是不容许跨域的。错误以XHR对象的onError事件表现出来,须要前端用户手动处理。若是容许访问,则进行第二次相似简单请求的请求html
OPTIONS /getListCORS HTTP/1.1 Origin: http://b.mycompony.com Access-Control-Request-Method: PUT
总结:咱们的403报错是由于nginx不支持OPTION请求方式的访问,删除访问限制后可正常进行 参考文档: 阮一峰的blo MDN开发者文档前端