0

AJAX経由でPOSTデータをphpファイルに送信し、テーブルを作成するjQueryスクリプトがあります。firebug を使用してコンソールを確認したところ、すべてが適切に作成されました。success:ウィンドウをリロードすると、テーブルが表示されません。

テーブル html が php ファイルから適切に作成されたことはわかっています。これは、作成されたものを正確に確認できるようにコメントアウトしたreloadためです)ページに多くのものが表示されており、特定の場所にテーブルが必要です。テーブルを実際に表示したい場所に表示するにはどうすればよいですか?

<script>
$(document).ready(function () {
    $("#stayinfobutton").click(function () {
        var id = $('#id').val();
        var dataString = {
            id: id
        };
        console.log(dataString);
        $.ajax({
            type: "POST",
            url: "classes/table_auto_guests.php",
            data: dataString,
            cache: false,
            /*success: function(html)
                    {
                        window.location.reload(true);
                    }*/
        });
    });
});
</script>
4

1 に答える 1

1

このwindow.location呼び出しにより、ブラウザ ウィンドウに新しいページがリロードされます。これにより、サーバーから ajax 呼び出しに返されたデータが失われます。

通常、Ajax 呼び出しへの応答は、次のようにページに直接読み込まれます。

success: function(html)
{
   $('#guestsTable').html(html);
   $('userForm').hide();
}

guestTable div と userForm の名前を作成しました;)。

戻りデータを html にするために強制が必要な場合があります (JQuery を使用していると想定しています)。うまくいけば、php スクリプトがhtml/textヘッダーに設定され、呼び出しdataType: htmlで渡すこともできます。$.ajax({...})

または、classes/table_auto_guests.phpブラウザーにロードしたいページ全体が返される場合、Ajax は探しているものではない可能性があります。この投稿には、データをフォームとして送信し、結果を新しいページとしてロードする方法に関するコードが含まれています。

于 2013-10-26T18:11:19.813 に答える