12

私はしばらくの間これを解決しようとしてきましたが、うまくいきません。ユーザーがリンクをクリックすると、このアクションを実行するかどうかを確認するよう求められます。次に、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;
        }
    }

alert(data)代わりにそうwindow.location.href = dataすると、正しいデータが渡されることがわかります。たとえば、/user/homepage. それでも、リダイレクトは行われません。

相対パスを URL 全体に置き換えようとしても、うまくいきませんでした。

4

4 に答える 4

20

assign()代わりに使用してみてください:

window.location.assign(data);

window.location.hrefメソッドではなくプロパティです。

于 2013-01-08T11:15:12.757 に答える
1

場所の割り当て()メソッド

The assign() method is supported in all major browsers.
于 2013-01-08T11:19:00.193 に答える
-1

You can also use window.location = "someurl";

于 2013-01-08T11:38:29.390 に答える