$.ajax()跟($.post(),$.get())最主要的差異就是成功回調後,執行success. . $.post(),$.get()就只能簡單的做下傳遞,返回. .後續工作沒辦法繼續.所以看情況調用
在JQuery中,AJAX有三種實現方式:$.ajax() , $.post , $.get()。
首先我們看$.get():
程式碼如下:
$.get("test.jsp", { name: "cssrain", time: "2008/01/21" }, //要传递的数据 function(data){ alert("返回的数据: " + data); } )
然後看$.post():
跟$.get()格式一樣.
程式碼如下:
$.post("test.jsp", { name: "cssrain", time: "2008/01/21" }, //要传递的数据 function(data){ alert("返回的数据: " + data); } )
上面2種方式的差異應該就是請求方式不同(一個get 一個post).
最後我們看$.ajax():
程式碼如下:
$.ajax({ url:'Accept.jsp', type:'post', //数据发送方式 dataType:'html', //接受数据格式 (这里有很多,常用的有html,xml,js,json) data:'text='+$("#name").val()+'&date='+new Date(), //要传递的数据 error: function(){ //失败 alert('Error loading document '); }, success: function(msg){ //成功 alert( "Data Saved: " + msg ); } });
實例
前台jsp部分的程式碼如下:...
票數:
#代碼如下:
<%=vote_number%>
< a onclick=myvote(<%=id%>); href='javascript:;'">投票
#...
js部分的程式碼如下
程式碼如下:
function myvote(id){ $.post("vote.jsp", { id: id }, function(data){ eval("var data="+data); if (data.issucc=="0"){ alert(data.mess) }else{ //alert(" 更新 页面"); $("#i"+data.myid).html(data.votenum); } }); }
傳回資料為json
後台傳回的json數據如下
{issucc:,mess:」「,votenum:,myid:}
issucc:是否成功
mess:訊息,主要是錯誤訊息,例如沒登錄,超過限制等等
votenum:投票後的得票總數
myid:投票的id,用於更新頁面的投票數
一個註冊登入實例
js
login.jsp傳回的類型為text形式,正確時是“OK”,錯誤時是
“error”。
程式碼如下:
var userName; var password; var result; $(document).ready(function(){ $("#load").hide(); $("#success").hide(); $("#error").hide(); }); $(document).ready(function(){ $("#button").click(function(){ $("#error").hide(); $("#load").show("slow"); userName = $("#userName").val(); password = $("#password").val(); $.ajax({type: "post", url: "login.jsp", dataType: "html", data: "userName="+userName+"&password="+password, success: function(result){ var res = String($.trim(result)); if(res=="OK"){ $("#myTable").hide("slow"); $("#success").show("slow"); }else if(res=="error"){ $("#error").show("slow"); $("#load").hide("slow"); }else{ alert("返回异常");} } }); }); });
以上是講解jquery ajax範例回傳值的詳細內容。更多資訊請關注PHP中文網其他相關文章!