在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部分的代码如下:...
票数:
复制代码 代码如下:
投票
...
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(返回异常);}
}
});
});
});
jsp页面
第一种responsetext格式
复制代码 代码如下:
string username = request.getparameter(username);
string password = request.getparameter(password);
if(password.equals(longleg)&&username.equals(thy)){
out.print(ok);
}else{out.print(error);}
%>