Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

window.location.href on ajax success not working

I've been trying to solve this for a while now, but I can't get itworking. When a user clicks a link he's asked to confirm that he wants to take this action. Then a ajax call is made. The script that's called works fine and returns a string where to redirect to.

I've seen several posts here on problems with window.location, buth none of them could solve mine.

My code:

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;
        }
    }

If I do alert(data) instead of window.location.href = data I can see that the correct data is passed. For instance /user/homepage. Yet, the redirection is not taking place.

If tried to replace the relative path with the entire url, but that didn't work either.

like image 323
user1662927 Avatar asked Jan 08 '13 11:01

user1662927


1 Answers

Try using assign() instead:

window.location.assign(data);

window.location.href is a property, not a method.

like image 73
Rory McCrossan Avatar answered Sep 18 '22 14:09

Rory McCrossan