ajax工作原理是
相當於在使用者和伺服器之間加了—個中間層(ajax引擎),使使用者操作與伺服器響應非同步化。
對於使用者請求ajax引擎會做一些資料驗證和資料處理,不是所有請求都提交給伺服器,當需要從伺服器讀取新資料時由ajax引擎代為向伺服器提交請求。ajax最大優點就是不重新整理整個頁面的前提下與伺服器通訊維護資料。
過程的話
第一步:建立乙個ajax引擎物件,ie6的是new activexobject其他瀏覽器是new乙個xmlhttprequest物件
第二步 呼叫open方法啟動乙個請求以備傳送,open方法傳入三個引數 請求型別,請求url和乙個布林值
第三步 呼叫send方法傳送
第四部 處理**函式onreadystatechange,當readstate = 4 響應資料完成時 並且2status=200請求成功的時候處理響應資料
注意:**函式要寫在open()和send()之前
jsonp原理
動態建立乙個script標籤,利用script標籤src屬性訪問沒有限制,實現跨域。
web客戶端通過與呼叫指令碼一樣的方式來呼叫跨域伺服器上動態生成的js格式檔案(字尾.json),伺服器之所以要動態生成json檔案目的把客戶端需要的資料裝入進去。
允許使用者傳遞乙個callback引數給服務端,然後服務端返回資料時會將這個callback引數作為函式名來包裹住json資料 這樣客戶端就可以隨意定製自己的函式來自動處理返回資料
ajax 和 jsonp的區別
1.ajax和jsonp的呼叫方式很像,目的一樣,都是請求url,然後把伺服器返回的資料進行處理,因此jquery和ext等框架都把jsonp作為ajax的一種形式進行了封裝;
2.實質不同
ajax的核心是通過xmlhttprequest獲取非本頁內容
jsonp的核心是動態新增script標籤呼叫伺服器提供的js指令碼(字尾.json)
3.區別聯絡
不在於是否跨域
ajax通過服務端**一樣跨域
jsonp也不並不排斥同域的資料的獲取
4.jsonp是一種方式或者說非強制性的協議
ajax也不一定非要用json格式來傳遞資料
5.jsonp只支援get請求,ajax支援get和post請求
jsonp的工作原理
跨域 我在www.xiaoyanzi.com 站點下面的乙個頁面想去訪問 下面的乙個資源.a.html b.html 1 document a.html 想訪問b.html 下面的元素 頂級網域名稱都不一樣。a.html b.html 主網域名稱一樣。a.html 想訪問b.html 預設不允許。同...
Ajax和Jsonp的工作原理,以及區別
ajax工作原理是 相當於在使用者和伺服器之間加了 個中間層 ajax引擎 使使用者操作與伺服器響應非同步化。對於使用者請求ajax引擎會做一些資料驗證和資料處理,不是所有請求都提交給伺服器,當需要從伺服器讀取新資料時由ajax引擎代為向伺服器提交請求。ajax最大優點就是不重新整理整個頁面的前提下...
AJAX工作原理
xmlhttprequest 是 ajax 的基礎 所有現代瀏覽器均支援 xmlhttprequest 物件 ie5 和 ie6 使用 activexobject 所有現代瀏覽器 ie7 firefox chrome safari 以及 opera 均內建 xmlhttprequest 物件。如需將...