ajax和struts2结合的问题
action中最后写了response.getWriter().write(num);(num为action中的一个变量,有get,set方法)。为什么ajax中xmlH...
action中最后写了response.getWriter().write(num);(num为action中的一个变量,有get,set方法)。为什么ajax中xmlHttp.responseText还是整个页面的html,不应该是num吗?
ajax部分代码(用的是ajax同步的方法)
window.onload=function(){
createXDOM();
var url = "aaa.action";
xmlHttp.open("get",url,false);
xmlHttp.send(null);
if(xmlHttp.status == 200){//200表示成功收到
var result = xmlHttp.responseText;
alert(result);
}
}
aaa.action的部分代码 :
private int num;
...
get,set方法
...
public String execute() throws Exception {
...
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
response.getWriter().write(num);
return "numsuccess";
} 展开
ajax部分代码(用的是ajax同步的方法)
window.onload=function(){
createXDOM();
var url = "aaa.action";
xmlHttp.open("get",url,false);
xmlHttp.send(null);
if(xmlHttp.status == 200){//200表示成功收到
var result = xmlHttp.responseText;
alert(result);
}
}
aaa.action的部分代码 :
private int num;
...
get,set方法
...
public String execute() throws Exception {
...
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
response.getWriter().write(num);
return "numsuccess";
} 展开
2个回答
展开全部
加上
response.getWriter()..flush();
response.getWriter()..close();
把return "numsuccess"
;改成return null 即可
response.getWriter()..flush();
response.getWriter()..close();
把return "numsuccess"
;改成return null 即可
追问
谢谢~请问为什么一定要加 flush和close呢?还有return “numsuccess”;这个地方可以不改吗?是一定要改成return null吗?
追答
flush 是清空 和 close 关闭printwrite对象 必须要改不然会跳转页面的
AJAX 是异步 如果跳转了页面还有什么意思
话说那个解决了没有?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询