ajax常用知識
阿新 • • 發佈:2018-11-17
同源地址:任意兩個地址中的協議,域名,埠相同,稱為同源地址
同源策略: 是瀏覽器的一種基本安全策略
不允許對非同源地址進行請求(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));