// 方式一
if ($request_method = 'options')
if ($request_method = 'post')
if ($request_method = 'get')
// 方式二:未加if判斷
add_header 'access-control-allow-origin' '*';
add_header 'access-control-allow-credentials' 'true';
add_header 'access-control-allow-methods' 'get, put, post, delete, options';
add_header 'access-control-allow-headers' 'content-type,*';12
3456
78910
1112
1314
1516
1718
1920
2122
2324
2526
2728
通過瀏覽器除錯發現,瀏覽器先傳送options嗅探,然後再真實傳送post請求;
方式二在嗅探請求報錯返回403,說明是服務端應用直接拒絕了;
方式一在嗅探時成功返回204,然後瀏覽器console報錯如下:
// 前端加如下**
withcredentials: false, // 允許攜帶cookie12
然後真的…真的…真的…就解決了~
但是此解決方案略顯坎坷,運維需要修改nginx,前端還需加**,有點負責。試想還是通過後端**來解決問題吧~
因為後端服務是springcloud gateway專案
參考部落格:
官文:最終也解決了問題,**如下:
@configuration
public class gwcorsfilter }1
2345
6789
1011
1213
1415
1617
1819
2021
2223
2425
2627
2829
最後,感謝以上部落格網友提供的幫助。再普及一下跨域的知識,我覺得這篇寫得不錯,建議閱讀。
spring cloud gateway 跨域問題
1.問題描述 前端可以繞過閘道器正常請求其他服務的介面,但是一旦加上閘道器就出現跨域的問題,提示及報錯如圖 2.解決 springcloud版本 hoxton.sr8 對應的gateway版本 2.2.1.release 在gateway模組中新增跨域配置 configuration public ...
springcloud gateway 跨域配置
情況 配置springcloud專案,但是報跨域根據網上的 抄了個全域性過濾器,但是當沒有cookie的時候正常可以通過,有cookie的情況下報跨域。解決方案 使用另一種過濾器,使用兩種過濾器,發現無論如何都是先走下面這一種,而且使用下面這一種就可以在有cookie的情況下進行跨域,據猜測spri...
JavaScript jsonp解決跨域問題
產生跨域原因 瀏覽器同源策略 協議不同 http https 網域名稱不同 埠不同 演示下出現跨域的情況,請求豆瓣api jquery ajax請求 function req test req test 控制台直接報錯.谷歌翻譯 請求的資源上不存在 access control allow orig...