前端跨域的幾種方法

2021-09-26 06:47:28 字數 1585 閱讀 4185

前段的跨域同源策略是什麼呢?同源指的是三個同源:1,協議相同,網域名稱相同,埠相同,例如這些**協議是http://網域名稱是172.0.0.1:,埠號是8080,在這三個都相同的話就是同源,如果不相同,就存在了跨域.

一.jsonp跨域請求

首先我們要知道,jsonp跨域的原理是什麼呢,我們的ajax請求會被瀏覽器給攔截下來,而就是瀏覽器對script,img,iframe 標籤不受(同源策略)跨域的影響,所以我們可以在script中來編寫請求

我們遠端伺服器(根目錄有乙個js檔案,內容是

alert("我是遠端的js指令碼");
在本地伺服器 我們就可以請求 用絕對位址來請求

這個樣子 我們就可以看到有乙個視窗彈出了

一般 在程式中,我們不會這樣子去寫,需要建立 在js中動態的去建立 生成script標籤

但是 jsonp 這個方式 解決跨域 需要前後端一起修改**(伺服器返回乙個函式執行語句,然後執行乙個callback函式,前端去拿裡面json的資料),所以已經不怎麼適合現在的需求了,我們來看看其他的用法

二.我們來看看**伺服器

請求同源伺服器,通過伺服器 ** 到目標伺服器 ,然後再**給前端

這個樣子 我們就可以 請求不同埠的資料了,但是如果專案上線後 介面在不同的伺服器,就仍然會存在跨域問題

2.預檢請求是 先發乙個option請求給瀏覽器,來得到訊息 看是否滿足後端設定返回訊息的結果,如果不滿足 就不會返回訊息,如果是滿足了,就會傳送乙個真正的請求,去拿到所請求的內容.

前端開發,解決跨域的幾種方法

同源策略 什麼是同源策略,其作用是什麼?同源策略指的是 協議 網域名稱 埠三者皆相同,可以視為在同乙個域,否則為不同域。同源策略限制了從同乙個源載入的文件或指令碼如何與來自另乙個源的資源進行互動。作用是乙個用於隔離潛在惡意檔案的重要安全機制。所限制的跨域互動包括 當協議 protocol 主機 ho...

PHP跨域上傳的幾種方法

方法一 網域名稱 http attachments.zxsv.com 資料夾 home web attachments 虛擬二級目錄到 home web zxsv 下 支援同區域網的伺服器 即網域名稱為http zxsv.com attachments 這樣多個子網域名稱進行上傳的設計時,只需要at...

java跨域 解決的幾種方法

原文 一 全部介面解決跨域問題 要想解決測試人員的跨域問題,在請求訪問前解決跨域問題 過濾器filter public class corsfilter implements filter override public void dofilter servletrequest req,servle...