摘要:引子項(xiàng)目原因,前后端跨域了,第一次涉及到跨域的內(nèi)容,踩了蠻多坑的,總結(jié)一下,避免下次再遇到一圖片發(fā)送請(qǐng)求因?yàn)閳D片是不會(huì)去判斷是否跨域的,但是也只能發(fā)送請(qǐng)求,并且獲取不到返回值,可以用來(lái)監(jiān)聽頁(yè)面訪問數(shù)量或者廣告點(diǎn)擊數(shù)量二只能用于請(qǐng)求,設(shè)置使用
引子
項(xiàng)目原因,前后端跨域了,第一次涉及到跨域的內(nèi)容,踩了蠻多坑的,總結(jié)一下,避免下次再遇到~
一、圖片發(fā)送請(qǐng)求因?yàn)閳D片是不會(huì)去判斷是否跨域的,但是也只能發(fā)送get請(qǐng)求,并且獲取不到返回值,可以用來(lái)監(jiān)聽頁(yè)面訪問數(shù)量或者廣告點(diǎn)擊數(shù)量
var img=new Image(); img.src="http://www.baidu.com"; img.onerror=function(){ alert("error"); } img.onload=function(){ alert("success"); }二、jsonp
jsonp只能用于get請(qǐng)求,設(shè)置dataType:"jsonp"
使用 JSONP 形式調(diào)用函數(shù)時(shí),如 "myurl?callback=?" jQuery 將自動(dòng)替換 ? 為正確的函數(shù)名,以執(zhí)行回調(diào)函數(shù)。
$.ajax({ url: "test.html", dataType:"jsonp", success: function(html){ // } });
其實(shí)實(shí)現(xiàn)就下面的效果,如果直接這樣寫,就是頁(yè)面直接執(zhí)行,請(qǐng)求成功后執(zhí)行頁(yè)面的call函數(shù)
三、CORS,服務(wù)器端設(shè)置 1.服務(wù)器端設(shè)置允許請(qǐng)求的地址header( "Access-Control-Allow-Origin:*" );2.設(shè)置可請(qǐng)求的方式
header( "Access-Control-Allow-Methods:POST,GET" );3.可以設(shè)置header頭部?jī)?nèi)容允許添加的頭部信息
header("Access-Control-Allow-Headers:value");
$.ajax({ type: "GET", url: "#", header:{//添加頭部信息 value:"123456" }, crossDomain: true, success: function (data) {});4.發(fā)送cookie
需要注意的是,如果要發(fā)送Cookie,Access-Control-Allow-Origin就不能設(shè)為星號(hào),必須指定明確的、與請(qǐng)求網(wǎng)頁(yè)一致的域名
response.setHeader("Access-Control-Allow-Credentials","true");
$.ajax({ type: "GET", url: "#", crossDomain: true, xhrFields: {withCredentials: true},//發(fā)送cookie success: function (data) {});結(jié)束
參考:跨域資源共享 CORS 詳解
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/93163.html
摘要:引子項(xiàng)目原因,前后端跨域了,第一次涉及到跨域的內(nèi)容,踩了蠻多坑的,總結(jié)一下,避免下次再遇到一圖片發(fā)送請(qǐng)求因?yàn)閳D片是不會(huì)去判斷是否跨域的,但是也只能發(fā)送請(qǐng)求,并且獲取不到返回值,可以用來(lái)監(jiān)聽頁(yè)面訪問數(shù)量或者廣告點(diǎn)擊數(shù)量二只能用于請(qǐng)求,設(shè)置使用 引子 項(xiàng)目原因,前后端跨域了,第一次涉及到跨域的內(nèi)容,踩了蠻多坑的,總結(jié)一下,避免下次再遇到~ 一、圖片發(fā)送請(qǐng)求 因?yàn)閳D片是不會(huì)去判斷是否跨域的,...
摘要:前端知識(shí)點(diǎn)總結(jié)什么是第三方的極簡(jiǎn)化的操作的函數(shù)庫(kù)第三方下載極簡(jiǎn)化是操作的終極簡(jiǎn)化個(gè)方面增刪改查事件綁定動(dòng)畫效果操作學(xué)習(xí)還是在學(xué),只不過簡(jiǎn)化了函數(shù)庫(kù)中都是函數(shù),用函數(shù)來(lái)解決一切問題為什么使用操作的終極簡(jiǎn)化解決了大部分瀏覽器兼容性問題凡是讓用的 前端知識(shí)點(diǎn)總結(jié)——JQ 1.什么是jQuery: jQuery: 第三方的極簡(jiǎn)化的DOM操作的函數(shù)庫(kù) 第三方: 下載 極簡(jiǎn)化: 是DOM操作的...
摘要:通過跨域通過引入的不受同源策略的限制,所以我們可以通過標(biāo)簽引入一個(gè)或者是一個(gè)其他后綴形式如,等的文件,此文件返回一個(gè)函數(shù)的調(diào)用。 1.跨域的定義 只要協(xié)議、域名、端口有任何一個(gè)不同,就會(huì)被當(dāng)做為不同的域,如果從A域名訪問B域名上的資源就叫做跨域。 下面我們來(lái)看下幾種跨域的方法: 2.document.domain 瀏覽器的同源策略有一些限制,第一,不能通過ajax方法去請(qǐng)求不同源的資源...
摘要:通過跨域通過引入的不受同源策略的限制,所以我們可以通過標(biāo)簽引入一個(gè)或者是一個(gè)其他后綴形式如,等的文件,此文件返回一個(gè)函數(shù)的調(diào)用。 1.跨域的定義 只要協(xié)議、域名、端口有任何一個(gè)不同,就會(huì)被當(dāng)做為不同的域,如果從A域名訪問B域名上的資源就叫做跨域。 下面我們來(lái)看下幾種跨域的方法: 2.document.domain 瀏覽器的同源策略有一些限制,第一,不能通過ajax方法去請(qǐng)求不同源的資源...
摘要:通過跨域通過引入的不受同源策略的限制,所以我們可以通過標(biāo)簽引入一個(gè)或者是一個(gè)其他后綴形式如,等的文件,此文件返回一個(gè)函數(shù)的調(diào)用。 1.跨域的定義 只要協(xié)議、域名、端口有任何一個(gè)不同,就會(huì)被當(dāng)做為不同的域,如果從A域名訪問B域名上的資源就叫做跨域。 下面我們來(lái)看下幾種跨域的方法: 2.document.domain 瀏覽器的同源策略有一些限制,第一,不能通過ajax方法去請(qǐng)求不同源的資源...
閱讀 937·2021-10-27 14:14
閱讀 1754·2021-10-11 10:59
閱讀 1327·2019-08-30 13:13
閱讀 3164·2019-08-29 15:17
閱讀 2762·2019-08-29 13:48
閱讀 502·2019-08-26 13:36
閱讀 2092·2019-08-26 13:25
閱讀 866·2019-08-26 12:24