jQuery為我們包裝簡化了常用的請求方法,其中有一個post方法,此方法可以通過 HTTP POST 請求從伺服器載入資料。
文法:
jQuery.post(url,data,success(data, textStatus, jqXHR),dataType);
該方法實際上是簡寫的 Ajax 方法,等價于:
以下使用一個簡單的示例示範一下post方法的使用:
服務端代碼:
用戶端代碼:
html代碼:
js代碼:
運作結果:
雖然以上實驗已經可以成功的請求伺服器并且載入了伺服器傳回的資料,但是将表單資訊轉換成json格式的那一段代碼還是複雜了一些,每個表單元件的資料都得單獨的去獲得,如果表單中有十來個元件的話,豈不得寫十來句代碼去逐個獲得。是以這時候就得用到一個可以将表單資料序列化成json格式的神器:jquery.serializeJSON,這是一個基于jQuery的開源插件,以下是該插件的下載下傳位址:
<a href="http://www.bootcdn.cn/jquery.serializeJSON/">http://www.bootcdn.cn/jquery.serializeJSON/</a>
使用該插件後,一句代碼就可以解決表單資料序列化成json格式的問題,修改後的代碼:
服務端代碼依舊不變,運作結果:
get和post在使用上基本上是一樣的,這是一個簡單的 GET 請求功能以取代複雜 \$.ajax 。請求成功時可調用回調函數。如果想要在出錯時執行函數,則需要使用 $.ajax。
$(selector).get(url,data,success(response,status,xhr),dataType)
同樣的該函數也是簡寫的 Ajax 函數,等價于:
示例:
服務端代碼隻需要把doPost改為doGet即可。
思維導圖:
ajax方法是 jQuery 底層的 AJAX 實作,而以上介紹的get和post方法則是ajax方法的簡寫,ajax方法會傳回其建立的 XMLHttpRequest 對象。大多數情況下你無需直接操作該函數,除非你需要操作不常用的選項,以獲得更多的靈活性。
最簡單的情況下,ajax() 可以不帶任何參數直接使用。
提示:所有的選項都可以通過 $.ajaxSetup() 函數來進行全局設定。
jQuery.ajax({settings...})
下面的表格中列出了可能的鍵/值:
示例,服務端代碼不變:
本文轉自 ZeroOne01 51CTO部落格,原文連結:http://blog.51cto.com/zero01/2058342,如需轉載請自行聯系原作者