在jsp页面上改变页面的数据,但页面不刷新的方法有哪些
4个回答
2013-08-10
展开全部
使用Ajax实现,单纯的使用JavaScript不可以与后台进行数据交互。jquary是JavaScript框架,可以简化Ajax的操作,原始的Ajax方法不再详述,这里给给使用jquary的Ajax方法:一:前台页面:<script type="text/javascript">function checkUserName(){
$.ajax({
type: "POST",//请求的方式,有“GET”、“POST”
url: "User.do?method=jqueryAjax",//请求的URL,这里使用了struts框架
data: "name=hejiyuan",//发送的数据
dataType: "xml",//返回的数据格式
success: callback //交互完成后,并且正确响应的回调函数
});
}
function callback(data){
//首先将DOM对象转换成jQuery对象
var jquaryOBJ = $(data);
var city = jquaryOBJ.children();
var text = city.text();
}</script><body>
<input id="name" type="text" />
<input type="button" value="验证" onclick="checkUserName()">
<div id="returnValue"></div>
</body>二、后台action方法代码 public ActionForward jqueryAjax2(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
response.setCharacterEncoding("GBK");
// 注意返回的数据类型设置为XML类型
response.setContentType("text/xml");
PrintWriter out = response.getWriter();
StringBuffer buffer = new StringBuffer();
buffer.append("<?xml version=\"1.0\" encoding=\"GBK\"?>");
buffer.append("<citys><city><name>永安</name><value>7</value></city>"
+ "<city><name id='2'>沙县</name><value>8</value></city></citys>"); out.println(buffer.toString());
out.flush();
out.close();
return null;
}
$.ajax({
type: "POST",//请求的方式,有“GET”、“POST”
url: "User.do?method=jqueryAjax",//请求的URL,这里使用了struts框架
data: "name=hejiyuan",//发送的数据
dataType: "xml",//返回的数据格式
success: callback //交互完成后,并且正确响应的回调函数
});
}
function callback(data){
//首先将DOM对象转换成jQuery对象
var jquaryOBJ = $(data);
var city = jquaryOBJ.children();
var text = city.text();
}</script><body>
<input id="name" type="text" />
<input type="button" value="验证" onclick="checkUserName()">
<div id="returnValue"></div>
</body>二、后台action方法代码 public ActionForward jqueryAjax2(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
response.setCharacterEncoding("GBK");
// 注意返回的数据类型设置为XML类型
response.setContentType("text/xml");
PrintWriter out = response.getWriter();
StringBuffer buffer = new StringBuffer();
buffer.append("<?xml version=\"1.0\" encoding=\"GBK\"?>");
buffer.append("<citys><city><name>永安</name><value>7</value></city>"
+ "<city><name id='2'>沙县</name><value>8</value></city></citys>"); out.println(buffer.toString());
out.flush();
out.close();
return null;
}
2016-03-08 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
在jsp页面上改变页面的数据,只要不跟服务器有交互,都不会刷新数据的。
屏蔽刷新的方法:
public String reSave(){
if(this.token != null && this.token.equals(this.getSessionToken())){
/**设置新标识**/
this.setSessionToken();
/**业务代码**/
..............
return "toAdd";
}else{
printWriter out = null;
try{
httpServletResponse.setContentType("text/html;charset=UTF-8");
out = httpServletResponse.getWriter();
out.println("<script>alert('刷新提交表单!');</script>");
out.flush();
}catch(IOException e){
e.printStackTrace();
}finally{
if(out != null){
out.close();
}
}
屏蔽刷新的方法:
public String reSave(){
if(this.token != null && this.token.equals(this.getSessionToken())){
/**设置新标识**/
this.setSessionToken();
/**业务代码**/
..............
return "toAdd";
}else{
printWriter out = null;
try{
httpServletResponse.setContentType("text/html;charset=UTF-8");
out = httpServletResponse.getWriter();
out.println("<script>alert('刷新提交表单!');</script>");
out.flush();
}catch(IOException e){
e.printStackTrace();
}finally{
if(out != null){
out.close();
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-10
展开全部
jquery,ext,都可以轻松的实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-10
展开全部
ajax传值啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询