已經好幾年沒寫過前端了,所以很懵逼。
執行傳送的時候出現:
意思是預發請求的時候不通過,不再正式發請求
經過反覆的測試,發現,header裡面包含自定義字段,瀏覽器是會先發一次options請求,如果請求通過,則繼續傳送正式的post請求,而如果不通過則返回以上錯誤
那這樣就只能在服務端配置options的請求返回,**如下:
// todo 支援跨域訪問上面**需要加入允許的頭部,content-type和access-token,並且判斷請求的方法是options的時候,返回ok(200)給客戶端,這樣才能繼續發正式的post請求。response.setheader("access-control-allow-origin", "*");
response.setheader("access-control-allow-credentials", "true");
response.setheader("access-control-allow-methods", "*");
response.setheader("access-control-allow-headers", "content-type,access-token");
response.setheader("access-control-expose-headers", "*");
if (request.getmethod().equals("options"))
修改之後成功發了post請求。
遇到的跨域問題?
2019 8月中旬,測試前後端分別部署在不同的伺服器上,遇到跨域問題?具體問題暫時沒辦法重現。等重現狀況後我會繼續更新解決方案。2019 9月,遇到伺服器備案問題,10月初,嘗試使用國外的vps做nginx 跳過備案問題,測試成功。成功訪問到靜態頁面,但 js請求後端遇到跨域問題,思考原因估計是js...
ie ajax 跨域情況遇到的各種問題
jquery.support.cors true ie8下出現的問題,chrome正常,找到了這篇文章 之前沒有加這句老是提示no transport,我沒去深想。jquery.support.cors只是對cors協議的一種實現,具體可以看jquery的源 這裡不多說。解決辦法是修改content...
跨域的問題
傳統的jsonp跨域方法 jq的ajax呼叫是最常見的呼叫方法之一,在自己寫一些小demo過程中,總是會遇到跨域問題,一般遇到跨域問題時,就會出現類似錯誤情況 no access control allow origin header is present on the requested reso...