JS,Jquery發起ajax的方式總結
阿新 • • 發佈:2018-12-02
JS中有兩種發起ajax的方式:
- GET方式:
<script type="text/javascript"> var ajaxObj = new XMLHttpRequest(); ajaxObj.open("GET", "selectProvice?id=1"); ajaxObj.send() ajaxObj.onreadystatechange = function() { if (ajaxObj.readyState === 4 && ajaxObj.status) { alert("傳送成功"); } } </script>
- POST方式:
<script type="text/javascript"> var ajaxObj=new XMLHttpRequest(); ajaxObj.open("POST","selectProvice?id=1"); ajaxObj.setRequestHeader("Content-type","application/x-www-form-urlencoded"); // multipart/form-data 預設的以二進位制方式傳送 ajaxObj.send(null); ajaxObj.onreadystatechange= function () if(ajaxObj.readyState===4&&ajaxObj.status===200){ alert("傳送資料成功"); } } </script>
- ajax獲取從伺服器返回的資料是 ajaxObj.responseText獲取
- ajax 給伺服器傳送資料: get post
- get: url重寫(拼接) ---- 資料量小 簡單資料 不安全
- post:send(資料) 請求體(頁面看不到) 資料量大 簡單或複雜資料 安全
- application/x-www-form-urlencoded表示表單預設以字串的形式傳送
- multipart/form-data 表單資料以二進位制流的方式傳送
- ajaxObj.setRequestHeader其實就是修改請求頭(請求報文)裡面的額Content-type值
Jquery有三種發起ajax的方式:
jquery 提供了三種 ajax 請求的函式,分別為: $.ajax() , $.get() , $.post() ,下面是一個 jquery 實現ajax
- get方式
<script type="text/javascript">
$(function(){
$.ajax({
url : "AjaxJson", //請求url
type : "POST", //請求型別 post|get
// data : "key=value&key1=value2", //後臺用 request.getParameter("key");
dataType : "json", //返回資料的 型別 text|json|html--
success : function(users){ //回撥函式 和 後臺返回的 資料
// var users = JSON.parse(data);
var tBody = $("#tbBody");
for(var i=0; i<users.length; i++){ //通過遍歷,建立行資料
var tr = $("<tr><td>"+users[i].id+"</td><td>"+users[i].name+"</td><td>"+users[i].school+"</td></tr>")
tBody.append(tr);
}
}
});
});
</script>
- get方式
$.get(url,data,callback,type);
// data為 傳送的資料 {key:value}形式 ,
// callback成功時的回撥函式 function(result){} result 後臺返回的資料
// type 返回的資料型別 預設為 text ,可以設為 json text
例子:
$.post("url",{name:"小錢",age:"20"},function(date,Status){
if(Status=="success")
{
alert("成功");
}
});
- post方式
$.post(url,data,callback,type);
參考來源:
https://blog.csdn.net/dadadashixiong/article/details/78878247
https://blog.csdn.net/qq_37176126/article/details/73277972