Ajax提交页面跳转
Ajax提交请求时,在success方法中添加页面跳转。
1、 window.top.location.href、window.location.href等都不行,页面不会跳转,只是刷新页面。
2、 只有使用jQuery设置form action 属性才会跳转:
$("#form1").attr("action",contextPath+'/success');
3、那么没有form的页面是不是要添加一个form呢?其实可以直接设置window的location:
$(window).attr(‘location’,contextPath+”/search”);
栗子:
$.ajax({
type : "post",
url : url,
async : false,
data : JSON.stringify(data),
dataType : "json",
contentType:"application/json",
success : function(data) {
if(data.result==0){
$("#form1").attr("action",contextPath+'/success');
}else{
$("#form1").attr("action",contextPath+'/success');
}
},
error : function() {
$.msg.alert("添加异常");
}
});
之前一直使用window.location.href跳转页面,但是在ajax请求处理中该方法失效,其只是刷新了一下页面,并没有跳转。网上搜了很久,也试了很多方法就是不行。然后就想到使用ajax提交时是用jQuery提供的方法,那么页面跳转是不是也可以使用jQuery提供的方法呢?结果真的可以。
在此做个记录,以防今后忘记了。