web-dev-qa-db-ja.com

ダイアログでAJAX呼び出しが行われた後、ページをリロードするにはどうすればよいですか?

そのため、ユーザーが開いたリンクをクリックすると、フォームを含むダイアログUIが表示されます。 「追加ボタン」をクリックすると、データベースにデータを送信するAJAX呼び出しが作成されます。追加する必要があるのは、ページを更新するためのreload()関数です。

リロード機能を追加するにはどうすればよいですか?

Windows.localtion.reload();を追加しようとしました。あなたはそれを私のコードで見ることができます。その行は何らかの理由で機能しません

//Update contact dialog box
    $( "#contact-edit" ).dialog({
    resizable: false,
    width: 500,
    modal: true,
    autoOpen: false,
    buttons: {
        "Update Info": function(e) {

        var formData = $('#edit-form').serialize();

        //submit record
        $.ajax({    
            type: 'POST',
            url: 'ajax/handler-contact-update.php',     
            data: formData,
            dataType: 'json',
            cache: false,
            timeout: 7000,
            success: function(data) {           

                $('#response-edit').removeClass().addClass((data.error === true) ? 'errorBox' : 'passBox').html(data.msg).fadeIn('fast');   

                if ($('#response-edit').hasClass('passBox')) {
                    $('#response-edit').fadeIn('fast');
                    $('#edit-form').hide();
                        $( "#contact-edit" ).dialog("close");
                        windows.localtion.reload();
                }       
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {

                $('#response-edit').removeClass().addClass('errorBox')
                            .html('<p>There was an<strong> ' + errorThrown +
                                  '</strong> error due to a<strong> ' + textStatus +
                                  '</strong> condition.</p>').fadeIn('fast');           
            },              
            complete: function(XMLHttpRequest, status) {            
                    $('form')[0].reset();
                    //$( this ).dialog( "close" );


            }
        }); 



        },
        Cancel: function() {
            $( this ).dialog( "close" );
        },
        Submit: function(){
            $('form')[0].submit();
        }
    }
});
5
Mike

タイプミスがあります:

windows.localtion.reload();

する必要があります

window.location.reload();
18
99823

あなたはページをリロードするために多くの方法を試すことができます、私はいくつか試しました、少なくともいくつかは誰かを助けるかもしれません。

location.reload()

location.reload(false)

window.location = window.location

window.location.reload();

リンクを使用している場合は、これを使用してください:

location.href = location.href
5
Manjuboyz