• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

window.history.go(-1) 无效,不回退页面

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
问题描述:
 
 
如上提现页面,点击 “确认提现”按钮后,ajax请求服务端,成功后 window.history.go(-1); 回退到上一页面;
但是实际运行时,没有回退,还是在当前页面,为什么?
html 代码:
<id="a_withdrawal" onclick="withdrawal()href="#" >确认提现</a>
 
js代码:
      function withdrawal(){
            $.ajax({
                url:purl,//表单action值
                type'post',
                data{money:$(".withdrawal_amount").val(), passworddes.getDes(passwd)},
                dataType:"json",
                successfunction(datastatus){
                    window.history.go(-1);
                }
            });
            return false;
        }
 
问题分析:
问题的关键在于 html里用的是 <a>标签,并且设置了 href=“#”  ,在我们点击的时候触发了withdrawal()函数的同时,href="#",也执行了,那么window.history里就有了两个当前页面,所以 window.history.go(-1); 时回退还是在当前页面。
 
问题解决:
其实问题的原因是 history里多了一个当前页面,而不是不是go(-1)不起作用,那么执行两遍 window.history.go(-1); 是不是就可以了呢?
是可以,但是这样写代码太傻了!
解决这个问题的一个关键技术点是:  
1 onclick = "ture/false" 
    true 会执行 href的页面跳转,false 不会,除了<a>标签,同样类似的还有 submit类型的btn
2 οnclick="return func()" 和 οnclick="func()" 区别
不加 return 等同于 οnclick="true"
 
所以答案是: onclick="return withdrawal()"  withdrawal()函数返回false

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Go并发编程之美-读写锁发布时间:2022-07-10
下一篇:
《Go语言实战》摘录:6.1 并发 - 并行 与 并发发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap