0

我有一个 jQuery 脚本,它通过 AJAX 将 POST 数据发送到一个 php 文件,然后创建一个表。我已经使用 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();
}

我组成了guestsTable div 和userForm 名称,;)。

返回数据可能需要一些强制才能将其转换为 html(我假设您使用 JQuery),希望 php 脚本将其设置html/text在标题中,也dataType: html可以在$.ajax({...})调用中传递。

或者,如果classes/table_auto_guests.php返回一个您想要在浏览器中加载的完整页面,那么 Ajax 可能不是您想要的。这篇文章包含有关如何以表单形式提交数据并将结果加载为新页面的代码。

于 2013-10-26T18:11:19.813 回答