0

AJAX の成功を実行した後、新しいページへのリダイレクトを取得できないようです (これは jQuery Mobile のスクリプトにあります)。次のコードでは、リダイレクト以外の機能を実行すると、sessionStorage が期待どおりに設定されます。リダイレクトを行う場合、sessionStorage コードは実行されません。提案??

$("#register").click(function () {

    var formData = $("#registerUser").serialize();

    $.ajax({
        type: "POST",
        url: "file.php",
        //dataType:'json',
        cache: false,
        data: formData,
        //success: onSuccess,
        success: function (data) {
            if (data.status == 'success') {

                //execute some code here
                var someValue = (data.id);
                sessionStorage.setItem('someValue', someValue);

            } else if (data.status == 'error') $("#notification").text(data.message);
        },

        complete: function () {
            window.location.replace('newPage.html');
        }
    });

    return false;
});
4

2 に答える 2

1

あなたの成功と完全は矛盾しています。完了すると、両方が実行されます。リダイレクトします。リダイレクト コードを success に移動して、他のことを行った後にリダイレクトするようにします。

success: function (data) {
    if (data.status == 'success') {

        //execute some code here
        var someValue = (data.id);
        sessionStorage.setItem('someValue', someValue);

        // redirect after success
        window.location.replace('newPage.html');

    } else if (data.status == 'error') {
        $("#notification").text(data.message);
    }
}
于 2012-08-02T19:47:29.023 に答える
-1

これは自分で考え出しました-JQMリダイレクトを使用する必要があります:$.mobile.changePage('newPage.html');

success: function (data) {
    if (data.status == 'success') {

        //execute some code here
        var someValue = (data.id);
        sessionStorage.setItem('someValue', someValue);

        // redirect after success
        $.mobile.changePage('newPage.html');

    } else if (data.status == 'error') {
        $("#notification").text(data.message);
    }
}
于 2012-08-03T15:12:48.810 に答える