form提交可以跳转页面,ajax提交则不能跳转页面。

洗洗脚泡泡澡 2015-10-26 04:08:48
按照网上的demo自己做了一个SpringMVC和MyBatis框架集成的一个测试项目,发现一个极大的问题,就是form提交后在control中是可以通过 return “页面”来跳转的,而ajax提交后可以正常执行代码,但就是最后无法跳转页面,也就无法刷新。我做了一个修改demo用ajax提交,数据可以修改,手动刷新也正常显示了,可是就是无法跳转页面。

这里是我的页面:
function save(){
var khbh = $("#khbh").val();
var khnc = $("#khnc").val();
var zsxm = $("#zsxm").val();
var khlx = $("#khlx").val();
$.ajax({
type: "get",
async: true,
data:{"khbh":khbh,"khnc":khnc,"zsxm":zsxm,"khlx":khlx},
url: <%=Helper.appRootPath%>+"van/updata.do",
success: function (data) {
alert(data);
},
error: function(){
alert("出错了");
}
});
//alert("修改成功!");
}

这里是我的control
@RequestMapping("/updata.do")
public String updata(HttpServletRequest request,HttpServletResponse response) throws IOException {
Customer cus = new Customer();
PrintWriter out = response.getWriter();
cus.setCustomerNo(request.getParameter("khbh")); //客户编号
cus.setCustomerNickName(request.getParameter("khnc")); //客户昵称
cus.setCustomerRealName(request.getParameter("zsxm")); //真实姓名
cus.setCardType(request.getParameter("khlx")); //卡号类型
cusService.updataCus(cus);
out.print("修改成功!");
out.close();
return "customerView";
}

数据能正常修改,并且“修改成功”能够正常回调。

315895718,这是我扣扣,在线等,感谢各位大神。
...全文
12098 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
q454711253 2016-03-17
  • 打赏
  • 举报
回复
引用 10 楼 u011098115 的回复:
[quote=引用 9 楼 q454711253 的回复:] [quote=引用 5 楼 qq_29512177 的回复:] spring mvc通过ajax请求后台,页面是不会跳转的,你可以在success方法里面通过window.location.href跳转
引用 4 楼 u011098115 的回复:
同意2楼,不过感觉ajax很少有页面跳转。 一般都是在success里接收返回的数据给页面赋新的值,或是返回成功还是失败,在页面指定位置给个提示。
如果我需要把ajax返回的数据带着跳转页面呢,直接挂url的话浏览器提示“The XSS Auditor refused to execute a script in”[/quote] 那为什么不直接发一个action请求了,感觉这样ajax的意义就不存在了。好吧,不太明白你的意思。。。[/quote] 好吧,我把ajax返回的数据存在了隐藏域表单里,然后将表单post提交了
q454711253 2016-03-15
  • 打赏
  • 举报
回复
引用 10 楼 走在四季的回复:
[quote=引用 9 楼 q454711253 的回复:] [quote=引用 5 楼 qq_29512177 的回复:] spring mvc通过ajax请求后台,页面是不会跳转的,你可以在success方法里面通过window.location.href跳转
引用 4 楼 u011098115 的回复:
同意2楼,不过感觉ajax很少有页面跳转。 一般都是在success里接收返回的数据给页面赋新的值,或是返回成功还是失败,在页面指定位置给个提示。
如果我需要把ajax返回的数据带着跳转页面呢,直接挂url的话浏览器提示“The XSS Auditor refused to execute a script in”[/quote] 那为什么不直接发一个action请求了,感觉这样ajax的意义就不存在了。好吧,不太明白你的意思。。。[/quote] 我是用的springmvc,没有action。。
q454711253 2016-03-14
  • 打赏
  • 举报
回复
引用 5 楼 qq_29512177 的回复:
spring mvc通过ajax请求后台,页面是不会跳转的,你可以在success方法里面通过window.location.href跳转
引用 4 楼 u011098115 的回复:
同意2楼,不过感觉ajax很少有页面跳转。 一般都是在success里接收返回的数据给页面赋新的值,或是返回成功还是失败,在页面指定位置给个提示。
如果我需要把ajax返回的数据带着跳转页面呢,直接挂url的话浏览器提示“The XSS Auditor refused to execute a script in”
走在四季 2016-03-14
  • 打赏
  • 举报
回复
引用 9 楼 q454711253 的回复:
[quote=引用 5 楼 qq_29512177 的回复:] spring mvc通过ajax请求后台,页面是不会跳转的,你可以在success方法里面通过window.location.href跳转
引用 4 楼 u011098115 的回复:
同意2楼,不过感觉ajax很少有页面跳转。 一般都是在success里接收返回的数据给页面赋新的值,或是返回成功还是失败,在页面指定位置给个提示。
如果我需要把ajax返回的数据带着跳转页面呢,直接挂url的话浏览器提示“The XSS Auditor refused to execute a script in”[/quote] 那为什么不直接发一个action请求了,感觉这样ajax的意义就不存在了。好吧,不太明白你的意思。。。
xu475430135 2015-11-26
  • 打赏
  • 举报
回复
引用 2 楼 showbo 的回复:
ajax不会控制浏览器跳转,你只能自己判断下返回内容是否包含跳转后的页面内容,如果包含说明正常执行更新 一般服务器只需要返回一个类似1/0的信息就行,不需要跳转,客户端获取1/0就知道成成功或者失败,然后用js跳转

        success: function (data) { 
if(data.indexOf('包含跳转到页面的特俗内容')!=-1)location='xxxxxxx'
             alert(data);                        
            },
厉害厉害,又理解到了。 良师益友
魑魅玲儿 2015-10-30
  • 打赏
  • 举报
回复
引用 5 楼 qq_29512177 的回复:
spring mvc通过ajax请求后台,页面是不会跳转的,你可以在success方法里面通过window.location.href跳转
是的,Ajax是局部刷新,在success里面写location.href跳转
a756375788 2015-10-30
  • 打赏
  • 举报
回复
当你ajax交互成功或失败的时候,你如果想跳转页面,需要自己写方法跳转,例如下面:

window.location.href="http://www.ljiong.com";
或者说你想让form表单提交,可以这样写:

$("#form").submit();
  • 打赏
  • 举报
回复
spring mvc通过ajax请求后台,页面是不会跳转的,你可以在success方法里面通过window.location.href跳转
走在四季 2015-10-29
  • 打赏
  • 举报
回复
同意2楼,不过感觉ajax很少有页面跳转。 一般都是在success里接收返回的数据给页面赋新的值,或是返回成功还是失败,在页面指定位置给个提示。
今天的角色00 2015-10-28
  • 打赏
  • 举报
回复
楼上正解···ajax通过打印流向页面返回数据,在页面上做跳转。
  • 打赏
  • 举报
回复
ajax不会控制浏览器跳转,你只能自己判断下返回内容是否包含跳转后的页面内容,如果包含说明正常执行更新 一般服务器只需要返回一个类似1/0的信息就行,不需要跳转,客户端获取1/0就知道成成功或者失败,然后用js跳转

        success: function (data) { 
if(data.indexOf('包含跳转到页面的特俗内容')!=-1)location='xxxxxxx'
             alert(data);                        
            },
slwsss 2015-10-26
  • 打赏
  • 举报
回复
返回调转地址 用js做跳转

52,793

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧