window.location.href对ajax的成功无效

use*_*927 11 javascript ajax jquery

我一直试图解决这个问题一段时间,但我无法做到这一点.当用户点击链接时,系统会要求他确认是否要采取此操作.然后进行ajax调用.被调用的脚本工作正常,并返回一个字符串重定向到的位置.

我在这里看到了几个关于window.location问题的帖子,但是没有一个可以解决我的问题.

我的代码:

function confirm(a,b,c){
        var r=confirm("Are you sure to do this?");
        if(r==true){
            $.ajax({
                type: "POST",
                url: "/process-action.php",
                async: false,
                data: {a:a,b:b,c:c},
                success: function(data){
                    window.location.href = data;
                }
            });
        } else {
            return false;
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果我这样做alert(data)而不是window.location.href = data我可以看到正确的数据传递.例如/ user/homepage.然而,重定向没有发生.

如果尝试用整个url替换相对路径,但这也不起作用.

Ror*_*san 18

请尝试使用assign():

window.location.assign(data);
Run Code Online (Sandbox Code Playgroud)

window.location.href 是一种财产,而不是一种方法.