摘要:同源策略使用發(fā)送網(wǎng)絡(luò)請求有一個(gè)條件,那就是同源策略。同源策略要求協(xié)議類型相同等等主機(jī)地址相同或者自己的主機(jī)地址端口號相同等等例如平常使用進(jìn)行調(diào)試的時(shí)候,會開一個(gè)本地服務(wù)器,但是如果你使用去訪問之類的服務(wù)器你是無法拿到數(shù)據(jù)的。
json和jsonp的關(guān)系
JSON(JavaScript Object Notation, JS 對象標(biāo)記) 是一種輕量級的數(shù)據(jù)交換格式。它基于 ECMAScript (w3c制定的js規(guī)范)的一個(gè)子集,采用完全獨(dú)立于編程語言的文本格式來存儲和表示數(shù)據(jù)。簡潔和清晰的層次結(jié)構(gòu)使得 JSON 成為理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成,并有效地提升網(wǎng)絡(luò)傳輸效率。
JSONP(JSON with Padding)是JSON的一種“使用模式”,可用于解決主流瀏覽器的跨域數(shù)據(jù)訪問的問題。
json和jsonp縮寫只相差一個(gè)字母,但是兩者卻完全不同。前者是一種數(shù)據(jù)的表達(dá)方式,后者則是網(wǎng)絡(luò)請求的一種解決方案。
同源策略使用ajax發(fā)送網(wǎng)絡(luò)請求有一個(gè)條件,那就是同源策略。
同源策略要求:
協(xié)議類型相同 -> http、https、ftp等等
主機(jī)地址相同 -> https://www.baidu.com/ 或者自己的主機(jī)ip地址
端口號相同 -> 8080、80等等
例如平常使用webstorm進(jìn)行調(diào)試的時(shí)候,webstorm會開一個(gè)本地服務(wù)器http://localhost:63342/xxxx,但是如果你使用ajax去訪問https://www.baidu.com/之類的服務(wù)器你是無法拿到數(shù)據(jù)的。實(shí)際上瀏覽器已經(jīng)拿到數(shù)據(jù),但是做了一層隔離,不給你數(shù)據(jù)。
jsonp原理在說原理之前首先要了解兩個(gè)關(guān)于