1.问题描述
在微信项目开发中,比如常用联系人的增删改查操作中,比如跳入常用联系人管理页面,选中一个联系人修改它,就会跳入修改页面,修改完成后跳转到常用联系人管理页面,此时如果修改成功跳转采用的是页面跳转,则用户在按了返回键的话就会返回到修改页面,这是不正常的。
2.解决
在修改完成后不采用页面跳转的方式,而是采用javascript:history.go(-1),这样返回到了联系人管理页面后再按返回键会直接跳转到个人中心
同样如果中间连续跳了两个页面,比如修改手机号,从个人信息-->点击修改手机号-->验证手机号密码-->修改手机号-->跳转回个人信息,此时也不应使用页面跳转的方式,而是采用javascript:history.go(-2),这样修改完手机号后返回到个人信息,如果用户再按返回键会直接跳转到个人中心,而不是修改手机号页面。
3.代码示例
修改常用联系人部分ajax请求
$.ajax({
url:'${request.contextPath}/wx/contacts/editSubmit.html',
data:{"id":id,"username":username,"typename":typename,"certificateNo":certificateNo},
type:'post',
dataType:'json',
success:function(data){
if(data.code==0){
layer.msg(data.message,{icon: 1,time:LAYUIConstant.TIP_TIME});
/* setTimeout(function () {
location.href="${request.contextPath}/wx/contacts/touristMange.html";
}, 1500); */
location.href="javascript:history.go(-1)"; //修改成功直接返回到常用联系人管理页面
}else{
layer.msg(data.message,{icon: 5,time:layUIConstant.TIP_TIME});
}
},
error:function(data){
layer.msg(data.message,{icon: 5,time:LAYUIConstant.TIP_TIME});
}
});
修改手机号部分代码
function butSubmit(){
var mobile = $("#mobile").val();
if($.trim(mobile)==""){
layer.msg("请输入手机号!",{icon:5,time:JTDUIConstant.TIP_TIME});
$("#mobile").focus();
return;
}
var smscode = $("#smscode").val();
if($.trim(smscode)==""){
layer.msg("请输入验证码!",{icon:5,time:JTDUIConstant.TIP_TIME});
$("#smscode").focus();
return;
}
$.ajax({
url : '${request.contextPath}/wx/personalManagement/modifyMobile.html',
type : 'post',
data: {"smscode":smscode,"mobile":mobile},
dataType:"json",
success : function(data) {
if (data.code == 0) {
layer.msg(data.message,{icon:1,time:LAYUIConstant.TIP_TIME});
location.href="javascript:history.go(-2)";
} else {
layer.msg(data.message,{icon:5,time:LAYUIConstant.TIP_TIME});
return;
}
},
error:function(data) {
layer.msg(data.message,{icon:5,time:LAYUIConstant.TIP_TIME});
}
});
}