跨域:
我在www.xiaoyanzi.com 站點下面的乙個頁面想去訪問 下面的乙個資源.
a.html
b.html
1:document
a.html 想訪問b.html 下面的元素 頂級網域名稱都不一樣。
a.html
b.html 主網域名稱一樣。
a.html 想訪問b.html 預設不允許。
同源:網域名稱,埠,協議必須一樣。
(不同源就跨域)
但是主網域名稱都一樣。
所以我怎麼去解決這個跨域的問題。
a.html 使用js 新增乙個document.domian ="zhuwu.com";
b.html 使用js 新增乙個document.domian ="zhuwu.com";
2:ajax 跨域
在 有乙個a.html 想去訪問/afads.php
有跨域的特性。(瀏覽器覺得會有安全問題。)
a.html
$.ajax()
請求可以傳送出去,資料回不來。
$.ajax()
底層的原理
在jquery 的引數不加 datatype:"jsonp",
預設是傳送乙個xmlhttprequest 請求,使用這個物件去傳送請求。你瀏覽器根本就接收不到資料。
新增了:datatype:"jsonp",
jquery 裡面
var script=document.createelement("script");
script.src="/demo.js";
跨域訪問是我們以後比較常見的操作:
ajax工作原理,Jsonp原理
ajax工作原理是 相當於在使用者和伺服器之間加了 個中間層 ajax引擎 使使用者操作與伺服器響應非同步化。對於使用者請求ajax引擎會做一些資料驗證和資料處理,不是所有請求都提交給伺服器,當需要從伺服器讀取新資料時由ajax引擎代為向伺服器提交請求。ajax最大優點就是不重新整理整個頁面的前提下...
JSONP 的工作原理是什麼?
利用 並提供乙個 函式來接收資料 函式名可約定,或通過位址引數傳遞 第三方產生的響應為json資料的包裝 故稱之為jsonp,即json padding 形如 back 這樣瀏覽器呼叫back函式,並傳遞解析後json物件作為引數。本站指令碼可在back函式裡處理所傳入的資料。jsonp本身就是乙個...
Ajax和Jsonp的工作原理,以及區別
ajax工作原理是 相當於在使用者和伺服器之間加了 個中間層 ajax引擎 使使用者操作與伺服器響應非同步化。對於使用者請求ajax引擎會做一些資料驗證和資料處理,不是所有請求都提交給伺服器,當需要從伺服器讀取新資料時由ajax引擎代為向伺服器提交請求。ajax最大優點就是不重新整理整個頁面的前提下...