1. 程式人生 > >ajax常用知識

ajax常用知識

 同源地址:任意兩個地址中的協議,域名,埠相同,稱為同源地址 同源策略:  是瀏覽器的一種基本安全策略                       不允許對非同源地址進行請求(ajax)                     限制的方式:可以傳送請求,服務端也會進行響應,但是響應回到客戶端後被瀏覽器阻止了 $.ajax()常用方法
$.ajax({
    url:請求地址,(必寫)
    data:傳送到伺服器的資料,GET請求中將附加在URL後,為urlencoded格式
    dataType:預期伺服器返回的資料型別,
    success:請求成功後 的回撥函式,引數(由伺服器返回 ,並根據dataType引數進行處理後的資料)
    time:設定請求超時的時間(毫秒),會覆蓋全域性設定
    type:預設GET,包括(POST和GET);
})

  

  原生ajax操作的4個步驟:
1、進行例項物件建立
    var xhr = new XMLHttpRequest();
2、呼叫open方法建立與服務端的連線
    xhr.open('POST' ,'/13_code/ajax.php');
        **由於通過POST方式傳送的資料,預設無法被服務端識別,所以需要設定請求體的內容型別
        需要在send前呼叫 setRequestHeader() 方法將 Content-Type 屬性設定為
            application/x-www-form-urlencoded  **
    xhr.open('GET' ,'/13_code/ajax.php?');
3、呼叫 send 方法 傳入需要的引數
    GET : xhr.send(null);
    POST: xhr.send('id=10&age=20&name=jack'); urlencoded 格式的引數
4、 呼叫 onreadystatechange 方法 判斷響應狀態和狀態碼
    xhr.onreadystatechange = function () {
      if (xhr.readyState === 4 && xhr.status === 200) {
        console.log(xhr.responseText);
        // 得到響應體,處理資料
    }

  

  轉換資料格式:
js前端轉換:
1.拿到後臺傳過來的JSON格式的資料後
    var data='{"name":"goatling"}';
    JSON.parse(data); // {name: "goatling"}  (物件)
    進行格式轉換,得到一個JSON物件
    再進行遍歷 for in
2.如果需要傳送JSON格式的資料給後臺 ,那需要把資料轉換為JSON格式,前提要有一個JSON格式的物件
    var data1 = {"name":"goatling"};
        JSON .stringify(data1); // '{"name":"goatling"}' (字串)
 
php後臺轉換
1.json_encode()對變數進行 JSON編碼
    將 資料(關聯陣列) 轉換成 json 格式字串
        json_encode($arr, JSON_UNESCAPED_UNICODE)
2.    json_decode  需要將 JSON 字串 轉換為關聯陣列結構
          // print_r(json_decode($json_str, true));