ajax发布调用后重定向不起作用,这是怎么回事?

时间:2019-01-13 18:08:17

标签: javascript jquery ajax redirect

我正在尝试在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调用之外,则重定向有效,因此行本身正在运行。

2 个答案:

答案 0 :(得分:0)

也许有一个服务器组件重定向错误。

您可以按照以下说明对其进行全面诊断:

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

enter image description here 4.检查网络日志。

答案 1 :(得分:0)

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

像这样:

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

它总是可以正常工作。