【问题标题】:How to present an Alert after being redirected from an Ajax success从 Ajax 成功重定向后如何显示警报
【发布时间】:2016-06-22 00:03:25
【问题描述】:

在我的成功事件中,我想重定向到新页面。没问题,明白了。但是,在被重定向到新页面后,我想显示一个警报。我想我可以通过使用document.referrer 函数来做到这一点,但这对我不起作用。一个问题可能是引用页面在 url 的末尾有一个 id,因此我将星号放在那里。但我也试过没有星星。我究竟做错了什么 ?实现这一目标的最佳方法是什么? TKS!

发送页面有这个 Ajax 调用。这很好用。

$.ajax({
            headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
            type: "POST",
            url: 'save_edit/'+$id,
            data: formData,
            success:function(){
                location.href = "http://mysite/open_quotes"
            },

            error:function(){
              alert('there has been a system level error - please contact support')

            }

        });

接收页面底部有这个小脚本。这不起作用:

    function referedPage() {
    var x = document.referrer;  
    if (x =="http://mysite/quote_edit/*"){
     alert('Success');
    }
}

【问题讨论】:

    标签: javascript jquery ajax


    【解决方案1】:

    您可以尝试在本地存储中设置一些数据

    localStorage['alert'] = 'true';
    location.href = "http://mysite/open_quotes"
    
    if (localStorage['alert'] == 'true'){
        localStorage.removeItem('alert')
        alert('Success');
    }
    

    【讨论】:

      【解决方案2】:

      也许你应该这样做:

              url: 'save_edit/'+$id+'?back='+document.location,
      

      通过url参数添加一个back变量,这样你就可以确定你从哪里调用。

      【讨论】:

      • 我对 Ajax 还是很陌生。我在哪里放 url: ?在 Ajax 调用内部?
      • 没错,一旦你完成了 $.ajax({jsonobject}) 里面就有一个 json 对象作为参数。它上面有以下属性 > **headers, type,url,data,success, error ** url 是负责保存要调用的 url 的属性。所以在你的情况下,只需连接 url: 'save_edit/'+$id+'?back=mysite/open_quotes' 它就会正常工作。
        并在下一页中获取“返回”参数。这将有你的网址
      猜你喜欢
      • 1970-01-01
      • 2016-10-09
      • 1970-01-01
      • 2021-08-14
      • 2018-07-20
      • 2020-10-08
      • 1970-01-01
      • 1970-01-01
      • 2017-01-22
      相关资源
      最近更新 更多