摘要:引子項目原因,前后端跨域了,第一次涉及到跨域的內(nèi)容,踩了蠻多坑的,總結(jié)一下,避免下次再遇到一圖片發(fā)送請求因為圖片是不會去判斷是否跨域的,但是也只能發(fā)送請求,并且獲取不到返回值,可以用來監(jiān)聽頁面訪問數(shù)量或者廣告點擊數(shù)量二只能用于請求,設(shè)置使用
引子
項目原因,前后端跨域了,第一次涉及到跨域的內(nèi)容,踩了蠻多坑的,總結(jié)一下,避免下次再遇到~
一、圖片發(fā)送請求因為圖片是不會去判斷是否跨域的,但是也只能發(fā)送get請求,并且獲取不到返回值,可以用來監(jiān)聽頁面訪問數(shù)量或者廣告點擊數(shù)量
var img=new Image(); img.src="http://www.baidu.com"; img.onerror=function(){ alert("error"); } img.onload=function(){ alert("success"); }二、jsonp
jsonp只能用于get請求,設(shè)置dataType:"jsonp"
使用 JSONP 形式調(diào)用函數(shù)時,如 "myurl?callback=?" jQuery 將自動替換 ? 為正確的函數(shù)名,以執(zhí)行回調(diào)函數(shù)。
$.ajax({ url: "test.html", dataType:"jsonp", success: function(html){ // } });
其實實現(xiàn)就下面的效果,如果直接這樣寫,就是頁面直接執(zhí)行,請求成功后執(zhí)行頁面的call函數(shù)
三、CORS,服務(wù)器端設(shè)置 1.服務(wù)器端設(shè)置允許請求的地址header( "Access-Control-Allow-Origin:*" );2.設(shè)置可請求的方式
header( "Access-Control-Allow-Methods:POST,GET" );3.可以設(shè)置header頭部內(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è)為星號,必須指定明確的、與請求網(wǎng)頁一致的域名
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)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/28331.html
摘要:引子項目原因,前后端跨域了,第一次涉及到跨域的內(nèi)容,踩了蠻多坑的,總結(jié)一下,避免下次再遇到一圖片發(fā)送請求因為圖片是不會去判斷是否跨域的,但是也只能發(fā)送請求,并且獲取不到返回值,可以用來監(jiān)聽頁面訪問數(shù)量或者廣告點擊數(shù)量二只能用于請求,設(shè)置使用 引子 項目原因,前后端跨域了,第一次涉及到跨域的內(nèi)容,踩了蠻多坑的,總結(jié)一下,避免下次再遇到~ 一、圖片發(fā)送請求 因為圖片是不會去判斷是否跨域的,...
摘要:前端知識點總結(jié)什么是第三方的極簡化的操作的函數(shù)庫第三方下載極簡化是操作的終極簡化個方面增刪改查事件綁定動畫效果操作學習還是在學,只不過簡化了函數(shù)庫中都是函數(shù),用函數(shù)來解決一切問題為什么使用操作的終極簡化解決了大部分瀏覽器兼容性問題凡是讓用的 前端知識點總結(jié)——JQ 1.什么是jQuery: jQuery: 第三方的極簡化的DOM操作的函數(shù)庫 第三方: 下載 極簡化: 是DOM操作的...
摘要:通過跨域通過引入的不受同源策略的限制,所以我們可以通過標簽引入一個或者是一個其他后綴形式如,等的文件,此文件返回一個函數(shù)的調(diào)用。 1.跨域的定義 只要協(xié)議、域名、端口有任何一個不同,就會被當做為不同的域,如果從A域名訪問B域名上的資源就叫做跨域。 下面我們來看下幾種跨域的方法: 2.document.domain 瀏覽器的同源策略有一些限制,第一,不能通過ajax方法去請求不同源的資源...
摘要:通過跨域通過引入的不受同源策略的限制,所以我們可以通過標簽引入一個或者是一個其他后綴形式如,等的文件,此文件返回一個函數(shù)的調(diào)用。 1.跨域的定義 只要協(xié)議、域名、端口有任何一個不同,就會被當做為不同的域,如果從A域名訪問B域名上的資源就叫做跨域。 下面我們來看下幾種跨域的方法: 2.document.domain 瀏覽器的同源策略有一些限制,第一,不能通過ajax方法去請求不同源的資源...
摘要:通過跨域通過引入的不受同源策略的限制,所以我們可以通過標簽引入一個或者是一個其他后綴形式如,等的文件,此文件返回一個函數(shù)的調(diào)用。 1.跨域的定義 只要協(xié)議、域名、端口有任何一個不同,就會被當做為不同的域,如果從A域名訪問B域名上的資源就叫做跨域。 下面我們來看下幾種跨域的方法: 2.document.domain 瀏覽器的同源策略有一些限制,第一,不能通過ajax方法去請求不同源的資源...
閱讀 2138·2021-09-27 14:04
閱讀 1883·2019-08-30 15:55
閱讀 1707·2019-08-30 13:13
閱讀 1075·2019-08-30 13:07
閱讀 2753·2019-08-29 15:20
閱讀 3247·2019-08-29 12:42
閱讀 3345·2019-08-28 17:58
閱讀 3606·2019-08-28 17:56