單純前端能否解決跨域問題?

時間 2021-05-30 04:08:54

1樓:謝然

不能,所有的方案都需要服務端某種方式和程度的配合,很多時候你覺得自己直接在前端就跨域請求到資料了,是因為人家已經把後端設定好了

不過如果你只是想在自己的瀏覽器上隨意跨域的話,可以用以下方式啟動Chrome

chrome.exe --disable-web-security

2樓:

不能。CORS 需要 HTTP的Headers

JSONP 需要callbackName,且只能是GET請求。

不過表單提交倒是可以跨域,但你拿不到響應呀。

3樓:陳龍

目前標準的跨域解決方案是CORS,是W3C的標準。

Cross-Origin Resource Sharing

enable cross-origin resource sharing

在CORS之前,解決跨域問題一般用JSONP的方式,但這其實是前端和伺服器端合謀一起騙過瀏覽器的同源策略(same-origin policy)。在很多文件裡都會指出JSONP其實是一種hack,理解成黑科技吧。

但是,不管是標準的CORS或黑科技JSONP,都不是純前端能解決的,都需要伺服器端配合。

JSONP需要伺服器端返回的JS檔案內有回掉方法。

CORS需要伺服器端配置CORS資訊。

JSONP是唯讀的,也就是說只能從伺服器端獲取資料,不能提交資料。

CORS是標準,對伺服器端更友好。雖然伺服器端需要配置,但是控制的粒度可以更細。可以控制允許哪些IP、哪些HTTP method可以訪問、哪些header資訊可以暴露給前端,等等。

乙個很有意思的gist,詮釋了JSONP和CORS兩種用法,分享給大家:

前端跨域怎麼解決?

三國哥哥 解決個屁。前端可選方案裡沒乙個不需要後端。後端大大不搞,跨個屁的域。所以不要老是curd的叫,搞好關係,把工作交給大佬們解決,何必給自己找不愉快呢。mock 一下,他不好麼。 跨域不是前端首要考慮的問題了,一般的解決方案都是後端和運維去解決,可以直接運維在 nginx 那裡處理就行了,也可...

台灣問題今年能否解決?

人不風流枉少年 現在的問題不在如何統 何時統,而在於統一之後怎麼治?香港回歸法理上沒問題吧,英國都簽字了 政策上一國兩制,給足自由了吧 時間上更不用說了,97年到19年整整22年,一代人了可去年被當槍使的大部分就是這代人啊 統一固然重要,但是如何讓回歸後的的2000多萬人跟我們一條心,這是個大問題 ...

實行時薪制能否解決996問題?

三笑 解決不了。題主沒發現麼,時薪制只在服務行業最常見。因為這類行業易標準化,易量化,尤其是商超和餐飲業。還有一種是計件制,成品為導向,更易量化,工廠流水線裡最常見。而這兩種地方一樣有996,甚至更嚴重。現在鬧騰聲音最大的是IT業,而IT業內容複雜,從業人員能力結構複雜,還是半創造性產業。誰來制定標...