1. 程式人生 > 實用技巧 >AJAX&&JSON

AJAX&&JSON

AJAX

  1. 全稱:Asynchronous JavaScript and XML(非同步的 JavaScript 和 XML)

  2. 作用:指在不重新載入整個頁面的情況下,對網頁中的某個部分進行區域性重新整理

  3. 同步現象:客戶端傳送請求到伺服器端,當伺服器返回響應之前,客戶端都處於等待 卡死狀態

  4. 非同步現象:客戶端傳送請求到伺服器端,無論伺服器是否返回響應,客戶端都可以隨 意做其他事情,不會被卡死

  5. 執行原理:頁面發起請求,會將請求傳送給瀏覽器核心中的Ajax引擎,Ajax引擎會提交 請求到 伺服器端,在這段時間裡,客戶端可以任意進行任意操作,直到服務 器端將資料返回 給Ajax引擎後,會觸發你設定的事件,從而執行自定義的js 邏輯程式碼完成某種頁面功能。

  6. 原生JS的AJAX開發

    開發步驟:
    //1.AJAX -建立XMLHttpRequest 物件
    var xmLhttp;
    if (window . XMLHttpRequest){
    // code for IE7+, Firefox, Chrome, Opera, safari
    xmLht tp=new XMLHttpRequest();
    eLse {
    // code for IE6, IE5
    xmLhttp=new ActiveX0bject("Microsoft. XMLHTTP");
    //2.建立連線xmLhttp. open(method , utl, async)
    //3.傳送請求
    xmLhttp . send(string)備註:僅限於post請求
    // 4.接收伺服器響應結果滿足readyState=4&&status=200 才能接收響應結果值
  7. jquery版的ajax

    1. JQuery是js的一個框架,因為ajax是js原生的,所以在JQuery中也對ajax做了封裝

    2. 常用的三種方式:

      jQuery.get(url, [data], [callback], [type])
      jQuery.post(url, [data], [callback], [type])
      jQuery.ajax({option1:value1,option2:value2…})
      //常用的option有如下:
      //async:是否非同步,預設是true代表非同步
      //data:傳送到伺服器的引數,建議使用json格式 //dataType:伺服器端返回的資料型別,常用text和json
      //success:成功響應執行的函式,對應的型別是function型別
      //type:請求方式,POST/GET
      //url:請求伺服器端地址
      //contentType: 傳送資料的格式,如果要傳送的是json字串,需要指定其內容為application/json;charset=utf-8 ,如果是json物件或者 是 k=v&k=v 這種形式不加 contentType

JSON

  1. 全稱:JavaScript Object Notation JavaScript物件表示法 。

  2. 獲取資料:

    1. json物件.鍵名

    1. json物件["鍵名"]

    1. 陣列物件[索引]

  3. JSON資料和Java物件的相互轉換

    1. JSON解析器

      1. 常見的解析器:Jsonlib,Gson,fastjson,jackson

    2. JSON轉為Java物件:

      1. 匯入jackson的相關jar包

      1. 建立Jackson核心物件 ObjectMapper

      1. 呼叫ObjectMapper的相關方法進行轉換

        1. readValue(json字串資料,Class)

    3. Java物件轉換JSON

      1. 匯入jackson的相關jar包

      2. 建立Jackson核心物件 ObjectMapper

      3. 呼叫ObjectMapper的相關方法進行轉換

        1. 轉換方法:

          • writeValue(引數1,obj):

            • 引數1:

              • File:將obj物件轉換為JSON字串,並儲存到指定的檔案中

              • Writer:將obj物件轉換為JSON字串,並將json資料填充到字元輸 出流中

              • OutputStream:將obj物件轉換為JSON字串,並將json資料填充 到位元組輸出流中

          • writeValueAsString(obj):將物件轉為json字串

        2. 註解:

          1. @JsonIgnore:排除屬性。

          2. @JsonFormat:屬性值格式化

            1. @JsonFormat(pattern = "yyyy-MM-dd")