jQuery技術是什麼?jQuery的get、post、ajax怎麼用?有什麼不同

jquery對js原生的ajax進行了封裝,簡便了開發,常用的方法

jQuery技術是什麼?jQuery的get、post、ajax怎麼用?有什麼不同

get,post

1)$.get(url, [data], [callback], [type])

2)$.post(url, [data], [callback], [type])

url:代表請求的服務器端地址

data:代表請求服務器端的數據(可以是key=value形式也可以是json格式,無論是哪種格式服務器端都可以通過getParameter(key)的方式來獲取數據)

callback:表示服務器端成功響應所觸發的函數(只有正常成功返回才執行,內部可以獲取服務端傳回的數據)

type:表示服務器端返回的數據類型(jquery會根據指定的類型自動類型轉換,如果服務器端傳回的是json格式的數據,但是用text解析,那麼客戶端就會把json的格式整體看成一個字符串,如果服務器端傳回是text類型的格式的數據,但是用json解析,那麼客戶端把一個text無法解析成json數據,那麼就會出錯,所以類型對應很重要),常用的返回類型:text、json、html等。

舉例

我們使用get方式提交數據,並且服務器端返回text類型的數據

jQuery技術是什麼?jQuery的get、post、ajax怎麼用?有什麼不同

我們要想收到服務器端的數據應該在function回掉函數上寫一個參數data,這個ajax引擎會按照text解析(“text”)服務器端的數據賦值給data,然後彈出success

jQuery技術是什麼?jQuery的get、post、ajax怎麼用?有什麼不同

並且服務器端獲得到提交的數據,zhangsan,25

下面演示服務器提交給客戶端json格式的數據,客戶端使用"json"解析,這裡要注意一點的是,json格式的的鍵和值必須要用雙引號引起來,這裡就存在的一個問題是客戶端寫入數據的時候也要是使用雙引號引起來,那麼雙引號裡面還有雙引號,這肯定會出問題,所以內部應該使用"給轉移,這樣在服務端寫入的時候,就不會出問題

jQuery技術是什麼?jQuery的get、post、ajax怎麼用?有什麼不同

客戶端獲取到服務器端的數據data的時候,這個data是一個json格式的對象,我們可以通過json格式的方式。上來獲取相應的數據

jQuery技術是什麼?jQuery的get、post、ajax怎麼用?有什麼不同

亂碼問題

其實get,post這種方式提交,和通過鏈接,表單提交的方式是一樣的,不同的是一個整體刷新,一個是局部刷新,這兩種方式傳遞參數的時候,都會產生亂碼問題,和以前一樣,get提交用那種解碼在編碼的方式解決,但是post提交卻不可以用這種方式解決,會出問題,post提交不用解決,它會自動給我們解決,當然要是寫一個resquest。setCharacterencoding的解決post提交也不會出問題,總之post提交亂碼可以不解決,而且千萬不能用解碼再編碼的方式解決

如果服務器端寫中文數據,那麼我們的處理方式還是一樣response。setContentType(“text/html;charset=UTF-8”)

總之就是一點,以前怎麼處理,現在還怎麼處理就ok了,注意post提交不用解碼再編碼的方式解決就ok了

jquery的ajax的方法

ajax相比get,post方法,他更加底層,所以做到的事情比這個兩個方法更多,它的格式是

$.ajax( { option1:value1,option2:value2... } );

$.ajax();內部類似為json格式的對象{鍵:值}

常用的鍵(option)為

async:是否異步,默認是true代表異步

data:發送到服務器的參數,建議使用json格式

dataType:服務器端返回的數據類型,常用text和json

success:成功響應執行的函數,對應的類型是function類型

type:請求方式,POST/GET

url:請求服務器端地址

error:失敗響應執行的函數,對應的類型是function

jQuery技術是什麼?jQuery的get、post、ajax怎麼用?有什麼不同

這個是很強大,想要get提交那就type=“get”,想要post提交那就type=“post”,這個就是以鍵值對的形式表現出來了,和get,post意思差不多


分享到:


相關文章: