1. 程式人生 > 實用技巧 >Ajax——06——基於Jquery的$.ajax()方法獲取資料、傳遞資料

Ajax——06——基於Jquery的$.ajax()方法獲取資料、傳遞資料


在 JQuery 中提供了對 Ajax 的封裝,讓我們在使用 Ajax 技術時變得更加容易。在 JQuery中提供了很多的基於 Ajax 傳送非同步請求的方法,如:$.ajax()、$.get()、$.post()、$.getJSON()。

獲取就是function函式的result引數;提交就是$.ajax({})的data屬性;

一、前端$.ajax()獲取後端資料

以前前端獲取後端伺服器傳過來的資料,還要再JS中先new一個XmlHttpRequest物件非常麻煩,現在我們引入Jquery,

直接在前端使用Jquery的$.ajax()方法,然後通過function函式的result引數,就可以非同步獲取後端伺服器的資料,

(1)獲取普通資料

(2)獲取json格式資料

$.ajax()方法會根據 dataType 屬性中的值自動對響應的資料做型別處理。

如果響應的是 一個 JSON 格式的資料,那麼 dataType 的值為“JSON”,在回撥函式中我們得到的直接就是JSON 字串轉換完的 JavaScript 物件。

不需要在使用 JSON.parse()做格式的轉換處理。

二、$.ajax()提交資料到後端

前端使用Jquery的$.ajax()方法,在非同步請求中提交資料到後端伺服器中;

(1)提交普通格式資料

在 data 屬 性 中 我 們 可 以 通 過 兩 種 方 式 來 指 定 需 要 提 交 的 數 據 。 一 種 是 通 過 name=value&name=value 的結構。 data:”name=value&name=value.....” 另一種是通過 JavaScript 物件來指定提交資料。 data:{userid:100, username:”oldlu” } 無論使用 哪種方式在 Servlet 中都是通過 request.getParameter 方法根據 name 獲取 value 的,因為tomcat能解析這種格式的資料;

(2)提交Json格式資料

再次強調,資料以Json格式儲存的話,就是一個字串了;
所以叫json格式的字串資料。

在$.ajax()中提交 JSON 格式的資料需要使用 post 方式提交,通過 JSON.stringify()函式將 JavaScript 物件轉換成 JSON 格式的字串。在 Servlet 中通過字元輸入獲取提交的 JSON 格式 的資料。

  • 前端:data:JSON.stringify({name:value,name:value......})
  • 後端:在 Servlet 中通過 req.getReader().readLine()來獲取提交的資料。