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開發者文檔前端