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}); } }); }
