怎么使用struts2和ajax在页面上的一个div内局部刷新内容
发布网友
发布时间:2022-05-06 11:57
我来回答
共1个回答
热心网友
时间:2022-06-30 10:56
前两天因为工作需要做的的一个局部刷新 用的jQuery ,
项目中用了JSONObject 这个插件 ,不知道百度可以查到
页面代码:
<script>
function change(){
$.ajax({
type:"POST",
data:{"customer_id":<%=customerID%>}, //传递的参数
//调用的action
url:"<%=request.getContextPath()%>/holooOrderAction!ajaxSelectContact.action",
dataType:"json", //我是通过json来传递数据的
success:function(data){
//判断连接是否成功
if (data.statusCode==200){
document.getElementById("contact_id").options.length=0;
var ocname_value = data.ocname_value;
var ocname = data.ocname;
for(var i=0;i<data.size;i++){
var oOption = document.createElement("OPTION");
oOption.value=ocname_value[i];
oOption.text=ocname[i];
thisForm.contact_id.options.add(oOption);
}
}
else{
thisForm.contact_id.options[0].text="数据录入失败,请刷新页面"
}
},
error:function(xhr,ajaxOptions, thrownError){
ymPrompt.errorInfo({message:'系统正忙,请稍后再试!',title:'系统提示',dragOut:false,handler:loginHandler});
}
});
}
function loginHandler(tp){
if (tp=='ok'||tp=='close'){
var obj = document.getElementById("ceshi");
obj.disabled = false;
}
}
</script>
如果是点击事件就用 onClike 调用change()
如果是页面自动刷新就用这个方法setInterval("change()",1000);1000是毫秒
你说的开始要是空白div 你就在页面上创建一个div
<div id="ceshi"></div>
用document.getElementById("ceshi").innerHTML=“后台获取的数据”
追问我用的struts2写的后台,需要调用JSONArray来进行数据类型转换吗?返回时struts.xml文件返回的type=“json”了,如果需要数据类型转换,只是需要fromObject(list);就可以吗?