ajax有三種方式來提交和接收json數據分別是$.post(),$.get(),$.ajax()默認三種都是異步操作,這三種操作都是jQuery這個框架封裝的:
異步現象:客戶端發送請求到服務器端,無論服務器是否返回響應,客戶端都可以隨 意做其他事情,不會被卡死
哪有異步操作就有同步操作
同步現象:客戶端發送請求到服務器端,當服務器返回響應之前,客戶端都處於等待 卡死狀態
先來說第一種post提交的方式
格式為$.post(
url://訪問服務器的url地址比如'${pageContext.request.contextpath}/ajaxWeb'
data://寫你的json數據比如'{"name":"張三","price":1888}'
callback://回調函數function(data){//data為接收到的json數據}
type://type為接收的數據為什么類型的類型比如json,text
);
貼一段代碼看看具體的實例
function postJson(){ $.post( '${pageContext.request.contextPath}/ajaxWeb', '{"name":"張三","price":122}', function(data){ alert(data); }, 'json' ); }
下面介紹一下$.get()方式
先說一下$.get方式的格式
$.get(
url://訪問服務器的url地址
data://寫json的數據
callback://書寫回調函數
type://接收的數據為什么格式
);
具體代碼:
$.get( '${pageContext.request.contextPath}/ajaxWeb', {"name":"z張三年","price":122}, function(data){ alert(data.name); }, "json" )
第三種是$.ajax()這種方式
先說一下格式
$.ajax(
type://指定為post還get提交
url://提交到服務器的地址
contentType://如果你以json格式提交數據就要寫出contentType:"application/json"
success:function(data){}//執行成功和返回的數據
error:function(){}//請求失敗的函數執行
dataType:返回的數據類型可以是json也可以是text,如果前端頁面報undefined那么應該你飯會的json數據類型不是標志的,孩子dataType寫出了datatype
);
貼代碼舉例子:
$.ajax({ type:'post', url:'${pageContext.request.contextPath}/ajaxWeb', data:{"name":"張三","price":123}, success:function(data){ alert(data.name); }, error:function(){ alert("請求失敗"); }, dataType:"json"//注意不是datatype哦 });