时间:2021-05-26
请求的ajax路径传递的参数(data)会到action中被一个同样名字的变量(附带set get方法)接收,返回的data是一个JQuery的数组对象,在被调用的action中涉及到的数据变量会对象,都会封装到data中最终返回给页面。
案例:如图
我要实现状态的更改,用JQuery的Ajax更改完之后图标发生改变,实现页面的局部刷新
原理:局部刷新是刷新页面的一部分,在此案例中实现的只是图标的改变,把后台代码和前台现实的图标分离,并不是对数据库重新做查询,二是后台数显数据修改之后,前台直接改变图标。
1.页面 给每条记录的图标一个唯一的id值:
复制代码 代码如下:
<td align="center">
<s:if test="messageState == 0">
<img src="${ctx}/images/04.png" id="r${message.messageID}"/>
</s:if>
<s:else>
<img src="${ctx}/images/03.png" id="r${message.messageID}"/>
</s:else>
</td>
Ajax验证:给A标签添加的id= aUnread,再添加事件
复制代码 代码如下:
jQuery("#aUnread").click(function(){
var strIds="";//定义一个传递数据的变量
$("input[name='checkbox']").each(function (){
if(this.checked){
strIds +=this.value+",";//得到的是多个id值,拼成字符串传到action
}
});
$.ajax({
type: "post",
dataType:'json', //接受数据格式
cache:false,
data:"strIds="+strIds,
url: "${ctx}/feedbackonline/updateMessageStateUnread.action",
beforeSend: function(XMLHttpRequest){
},
success: function(data){
var str=data.str;//接收返回的数据
for(var p in str){ //遍历接受的数组对象
var x="#r"+str[p];//获取要改变的记录的图标id
$(x).attr("src","${ctx}/images/04.png");
//把对应的id值的图标src属性值变成相应图标的路径
}
},
error: function(){
//请求出错处理
alert("Error!");
}
});
});
2.后台action:
复制代码 代码如下:
private String strIds;//省略set get 方法,自动获取到页面传的响应的数据
private String[] str;//省略set get 方法
@Action("/updateMessageStateUnread")
public String updateMessageState() throws Exception{
String[] jStr = strIds.split(",");//把字符串拆分成字符串数组
str=jStr;//把拆分的字符串数组赋给有get set方法的数组变量str返回到页面上
for(int i=0;i<jStr.length;i++){
int id=Integer.parseInt(jStr[i]);
messageUserinfo=messageUserinfoManager.queryById(id);
messageUserinfo.setMessageState(0);
messageUserinfoManager.update(messageUserinfo);
}
return "ajax";
}
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
axios和ajax区别,是通过promise实现对ajax技术的一种封装,就像jQuery实现ajax封装一样。简单来说:ajax技术实现了网页的局部数据刷新
ajax可以发送异步请求实现无刷新效果,但是使用javascript比较麻烦,就query提供了一些封装的方法,可以使得操作更为简单:$.ajax()方法:fu
在项目中,经常会用到ajax,比如实现局部刷新,比如需要前后端交互等,这里呢分享局部刷新的两种方法,主要用的是ajax里面的.load()。第一种:当某几个页面
今天看一下Node.js怎么获取ajax提交的request信息众所周知,ajax可以在不刷新整个页面的情况下实现局部刷新,这是相当好的一种方式,能够让我们动态
在jquery中实现ajax加载的方法有很多种,不像以前的js的ajax只有那一种,下面我们介绍jqueryajax实现局部加载方法总结,有需要了解的朋友可参考