日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

跨域会报40几_总结一下跨域的几种情况

發(fā)布時(shí)間:2025/3/8 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 跨域会报40几_总结一下跨域的几种情况 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在網(wǎng)站開發(fā)中,經(jīng)常會(huì)遇到跨域問題,下面總結(jié)一下集中常見的跨域問題。

1. 不同域名屬于跨域,如:www.a.com 和www.b.com,另外www.a.com 和www.a.com.cn也屬于不同域名。

2. 主域名和子域名(二級(jí)域名、三級(jí)域名等)跨域,如:www.a.com 和 bbs.a.com 跨域。

3. 不同協(xié)議屬于跨域,如:http://www.a.com 和 https://www.a.com。

4. Ip和域名屬于跨域,如:123.23.23.12 和 www.a.com。

那如何解決跨域呢?

如何解決跨域問題

JSONP?  JSONP是JSON with Padding的略稱。它是一個(gè)非官方的協(xié)議,它允許在服務(wù)器端集成Script tags返回至客戶端,通過javascript callback的形式實(shí)現(xiàn)跨域訪問(這僅僅是JSONP簡(jiǎn)單的實(shí)現(xiàn)形式)。關(guān)于jsonp的使用方式,可以參考http://blog.csdn.net/alen1985/article/details/6365394,優(yōu)缺點(diǎn)可以參考http://blog.csdn.net/z69183787/article/details/19191385

添加響應(yīng)頭,允許跨域?  addHeader(‘Access-Control-Allow-Origin:*’);//允許所有來源訪問?  addHeader(‘Access-Control-Allow-Method:POST,GET’);//允許訪問的方式

代理的方式?服務(wù)器A的test01.html頁面想訪問服務(wù)器B的后臺(tái)action,返回“test”字符串,此時(shí)就出現(xiàn)跨域請(qǐng)求,瀏覽器控制臺(tái)會(huì)出現(xiàn)報(bào)錯(cuò)提示,由于跨域是瀏覽器的同源策略造成的,對(duì)于服務(wù)器后臺(tái)不存在該問題,可以在服務(wù)器A中添加一個(gè)代理action,在該action中完成對(duì)服務(wù)器B中action數(shù)據(jù)的請(qǐng)求,然后在返回到test01.html頁面。

Demo1(添加允許跨域請(qǐng)求的響應(yīng)頭)

html頁面

Web后臺(tái)

?

?按照上面的訪問,由于127.0.0.1:8080和localhost:8081的域和端口不同,所以同樣會(huì)出現(xiàn)跨域問題。?

現(xiàn)在用添加響應(yīng)頭的方式

Demo2(jsonp的callback方式)

這里演示的是jquery的ajax,后臺(tái)采用的是webservice接口形式

注意此時(shí)的dataType為jsonp格式,看看后臺(tái)的接收?

,?我們返回的其實(shí)就是一個(gè)函數(shù)的調(diào)用文本,這里注意,callback的名稱,由于前臺(tái)沒有指定callback函數(shù),所以這里自動(dòng)生成了,如果想自定義回調(diào)函數(shù)名稱如下操作,添加一行請(qǐng)求參數(shù)?

這樣后臺(tái)的回調(diào)函數(shù)名就變成了mytest?

瀏覽器發(fā)出的請(qǐng)求格式和響應(yīng)數(shù)據(jù)如下,其實(shí)就是返回函數(shù)的調(diào)用,而需要返回的數(shù)據(jù)則以函數(shù)參數(shù)值的形式填入?

?此時(shí)控制臺(tái)就能夠獲取到“hello world”?

總結(jié)

以上是生活随笔為你收集整理的跨域会报40几_总结一下跨域的几种情况的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。