【问题标题】:Redirection doesn't work after ajax post call, what's failing?ajax post调用后重定向不起作用,是什么失败?
【发布时间】:2019-01-13 18:08:17
【问题描述】:

我试图在 ajax 调用后重定向到其他视图,但它不起作用。

ajax 调用有效,但是当它到达重定向行时,它不起作用并重定向到主页。

这是我的 ajax 调用:

<script type="text/javascript">
    function feedback(ofertaId){            
        $.ajax({
            type : "POST",
            url : 'mensaje/mensajeFeedback.do',
            contentType: 'application/json; charset=utf-8',
            data: JSON.stringify({'ofertaId': ofertaId}),
            async: false,
            cache: false,
            success: function(callback){            
                if(localStorage.getItem("language") == "en"){
                    alert("Your mentor has been notified successfully");
                }else{
                    alert("Su tutor ha sido notificado correctamente");
                }
                window.location.href = "alumno/practicas.do";

            },
            error: function (xhr) {
                alert('Error ' + xhr.status);
            }
        });
    };
</script>

我不知道为什么它重定向到 homepagwe 而不是“alumno/practicas.do”,因为我在其他 ajax 调用中做了同样的事情。有什么想法吗?

编辑:

实际上我想做重定向的事情,因为当 ajax 调用完成时,应用程序会自行重定向到主页。如果我只是将线路移到 ajax 调用之外,则重定向有效,因此线路本身正在工作。

【问题讨论】:

    标签: javascript jquery ajax redirect


    【解决方案1】:

    可能存在重定向错误的服务器组件。

    您可以按如下方式进行全面诊断:

    1. 打开 Chrome 开发工具 (F12)
    2. 转到网络标签
    3. 启用“保留日志”

    4. 查看网络日志。

    【讨论】:

    • 重定向到主页应该在那里。有吗?
    • 不,不是。实际上我想做重定向的事情,因为当 ajax 调用完成时,应用程序会自行重定向到主页
    【解决方案2】:

    通常我在 JavaScript 中使用绝对路径进行重定向。

    像这样:

    var loc = window.location.origin + "/" + window.location.pathname.split('/')[1] + "/alumno/practicas.do"
    location.replace(loc)
    

    而且它总是可以正常工作。

    【讨论】:

      猜你喜欢
      • 2021-04-26
      • 1970-01-01
      • 2015-07-23
      • 1970-01-01
      • 2020-04-18
      • 1970-01-01
      • 1970-01-01
      • 2020-05-18
      • 2018-08-15
      相关资源
      最近更新 更多