最近在學習 AJAX 的知識,上網查閱了一些有關 AJAX 的資料,主要是有關 AJAX的技術簡介及其優缺點等。在這裡,我想對我收集的資料做一些小小的總結,大部分資料都來自網上,本人在此只做分類總結,希望對和我一樣正在學習 AJAX 的朋友有一定的幫助。
AJAX,即Asynchronous Javascript And XML,可實現無刷新狀態更新頁面和非同步提交
優點:
不需要外掛程式支援
使用者體驗極佳
提升Web程式效能
減輕伺服器和寬頻的負擔
#缺點:
前進後退按鈕被破壞
搜索引擎的支援不夠
開發調試工具缺乏
同步與非同步
同步:也就是必須一件一件事做,等前一件做完了才能做下一件事
非同步:不需要等到前一件事做完,可多事同做
#JQuery對AJAX進行了三層封裝
最底層:封裝了基礎Ajax一些操作;
全域方法:$.ajax()
提交的資料在data中,用post方式提交,提交資料須用"{}"包裹,以"key:value"的形式提交
提交整個表單時,可使用表單序列化"serialize()",提交整個表單
decodeURIComponent():解序列化的資料
encodeURIComponent() :將資料序列化,serialize()也是呼叫此方法進行序列化
serializeArray():表單轉換為json形式
$.ajaxSetup():初始化$.ajax()的數據,用於設定$.ajax()物件的預設值
第二層:封裝了jQuery的Ajax;
局部方法:.load(url,data,callback)
比較適合靜態檔案的非同步獲取
全域方法:$.get(url,data,callback,type),$.post(url,data,callback,type)
可使用與動態檔案非同步取得
第三層:封裝了get;
全域方法:$.getJSON,$.getScript
載入請求
$(document).ajaxStart(function):請求開始時,觸發的方法
$(document).ajaxStop(function):請求結束時,觸發的方法
#JSON和JSONP
當dataType為JSON時,無法跨域取得數據,要在新增網域後面加上"?callback="才能實現跨網域呼叫資料。當dataType為JSONP時,可直接實作跨域取得資料。
JQXHR物件
jQuery jqXHR物件的屬性和方法
上面是我整理給大家的,希望今後會對大家有幫助。
相關文章:
以上是淺談Ajax相關及其優缺點的詳細內容。更多資訊請關注PHP中文網其他相關文章!