1. 程式人生 > >JS,Jquery發起ajax的方式總結

JS,Jquery發起ajax的方式總結

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