zoukankan      html  css  js  c++  java
  • javascript:history.go(-1)的使用

    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});            
                    }
                });                                     
            }
  • 相关阅读:
    C++ Sqlite3的基本使用
    DirectX11 初探XMVECOTR&XMMATRIX
    lib和dll文件的初了解
    游戏设计模式——C++单例类
    C++11智能指针的深度理解
    你的文章里为什么不放源码Github链接了
    堡垒机的核心武器:WebSSH录像实现
    Asciinema文章勘误及Web端使用介绍
    Asciinema:你的所有操作都将被录制
    Django实现WebSSH操作物理机或虚拟机
  • 原文地址:https://www.cnblogs.com/guzhou-ing/p/7560035.html
Copyright © 2011-2022 走看看