最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

ajax跳转到新的jsp页面的方法

来源:懂视网 责编:小采 时间:2020-11-27 22:51:31
文档

ajax跳转到新的jsp页面的方法

ajax跳转到新的jsp页面的方法:ajax可以实现局部刷新页面,即在不刷新整个页面的情况下更新页面的局部信息。 项目中遇到一个问题:在用户列表也,当点击某个按钮时需要去查询用户的信息,查询成功跳转到用户详情界面;查询失败,则在原页面弹出提示信息。 想到两个解决办法: 方法一:
推荐度:
导读ajax跳转到新的jsp页面的方法:ajax可以实现局部刷新页面,即在不刷新整个页面的情况下更新页面的局部信息。 项目中遇到一个问题:在用户列表也,当点击某个按钮时需要去查询用户的信息,查询成功跳转到用户详情界面;查询失败,则在原页面弹出提示信息。 想到两个解决办法: 方法一:

ajax可以实现局部刷新页面,即在不刷新整个页面的情况下更新页面的局部信息。

项目中遇到一个问题:在用户列表也,当点击某个按钮时需要去查询用户的信息,查询成功跳转到用户详情界面;查询失败,则在原页面弹出提示信息。

想到两个解决办法:

方法一:

点击按钮,调用普通方法去查询用户信息,查询成功跳转到用户详情页面;查询失败,重定向调用查询用户列表的方法,在查询用户列表的方法结束后重新跳转到用户列表页面并弹出提示信息,相当于重新加载了用户列表页面。

方法二:

根据需求,不可以重新加载用户列表页面。用ajax调用查询用户详情的方法,查询成功返回用户Json串,查询失败则返回error。

后台方法:

@RequestMapping(value = "searchUser")
 public void searchHome(HttpServletResponse response){
 String result = null;
 ...
 查询用户的方法
 ...
 
 if(查询成功){
 result = JsonUtil.objectToJson(查询结果对象);//结果对象转化成Json字符串,在ajax的结果中跳转到用户详情的处理方法
 AjaxUtil.ajax(response,result);
 }else{//查询失败,返回提示信息
 AjaxUtil.error(response, "查询用户失败");
 } 
 }

jsp页面的ajax:

function searchUser(){
 $.ajax({
 url : "testurl/searchUser",
 cache : false,
 type : 'POST',
 data : {
 查询用的数据,比如用户ID
 },
 success : function(data) {
 var obj = eval("("+data+")"); 
 
 if(obj.success==undefined){//查询成功,跳转到详情页面
 ...
 跳转到用户详情处理方法,将date数据传过去
 ...
 }else if(!obj.success){//查询失败,弹出提示信息
 weui.Loading.info(obj.message);
 }
 },
 error : function(error) {
 weui.alert("查询用户有误!");
 }
 }); 
 } 

此处的重点在于如何在ajax的回调函数中调用普通方法,并将之前查询出的用户数据传到普通方法中(上面伪代码中红色的部分),继而跳转到用户详情页面。

(1)错误案例:

function searchUser(){
 $.ajax({
 url : "testurl/searchUser",
 cache : false,
 type : 'POST',
 data : {
 查询用的数据,比如用户ID
 },
 success : function(data) {
 var obj = eval("("+data+")");
 if(obj.success==undefined){//查询成功,跳转到详情页面,encodeURIComponent编码是为了防止url后面传送的参数中文乱码,在后台处理时需要解码
 window.location.href = "testurl/userForm?userJson="+encodeURIComponent(data);
 }else if(!obj.success){//查询失败,弹出提示信息
 weui.Loading.info(obj.message);
 }
 },
 error : function(error) {
 weui.alert("查询用户有误!");
 }
 }); 
 }

错误原因:window.location.href方法为get方法,这会使得参数显示的浏览器的url中,不安全,并且数据传送的长度有限制。 

(2)想到的笨方法:在body中写隐藏的form表单,在回调函数中把查到的用户数据复制给form表单中的input,然后提交表单跳转到普通方法中,这样就是以post方法提交的数据,并且可以跳转到新页面了:

function searchUser(){
 $.ajax({
 url : "testurl/searchUser",
 cache : false,
 type : 'POST',
 data : {
 查询用的数据,比如用户ID
 },
 success : function(data) {
 var obj = eval("("+data+")");
 if(obj.success==undefined){//查询成功,跳转到详情页面
 $("#userFormJson").val(data);
 $("#userForm").attr("action","testurl/userForm");
 $("#userForm").submit();
 }else if(!obj.success){//查询失败,弹出提示信息
 weui.Loading.info(obj.message);
 }
 },
 error : function(error) {
 weui.alert("查询用户有误!");
 }
 }); 
 } 

jsp页面的body

<body>
 <form id="userForm" action="" method="post">
 <input id="userFormJson" name="userFormJson" type="hidden"/>
 </form>
</body>

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

ajax跳转到新的jsp页面的方法

ajax跳转到新的jsp页面的方法:ajax可以实现局部刷新页面,即在不刷新整个页面的情况下更新页面的局部信息。 项目中遇到一个问题:在用户列表也,当点击某个按钮时需要去查询用户的信息,查询成功跳转到用户详情界面;查询失败,则在原页面弹出提示信息。 想到两个解决办法: 方法一:
推荐度:
标签: 方法 页面 跳转
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top