在同一个php页面上加载Ajax内容

时间:2014-05-26 19:03:30

标签: php jquery ajax jquery-ui-tabs

我目前无法尝试将数据发送到同一个php页面。 我的问题如下:我正在通过Ajax从jQueryUI选项卡提交表单,并且我试图将数据发送回选项卡中加载的同一个php页面。

这是我的Ajax部分代码,正如我可以看到成功部分中的数据一样:

$('#query').submit(function(event){
    event.preventDefault();
    var formData = new FormData($(this)[0]);            

    var request = $.ajax({
        type: 'POST',
        url: 'tab_rechercher.php',
        data: formData,
        contentType: false,
        processData: false,
        success: function(data){
            alert(data);
        },
        error: function(msg){
            alert(msg);
        }
    });             
});

现在,这给了我一个包含表单数据的数组,以及整个html页面,后面是:

<form id="query" method="post" action="tab_rechercher.php">
<fieldset>
    <legend>Recherche d&apos;items dans une soumission ou bon de commande</legend>
    <table class="table_spacing">
        <tr>
            <td>Description de l&apos;item: </td>
            <td><input type="text" name="item_description"></td>                
        </tr>
        <tr>
            <td colspan="2" style="text-align:right;"><input id="rechercher" type="submit" value="Rechercher"></td>
        </tr>
    </table>
</fieldset>

问题是在我的php页面中,$ _POST保持空白

if(empty($_POST) === false){
print_r($_POST);}

并且打印永远不会发生。

如何将数据传输回php页面? 感谢

1 个答案:

答案 0 :(得分:0)

在我看来,你实际上从未发布过表格。你是通过AJAX发布的,但它是在另一个“线程”中,而不是你当前正在查看的那个。要发布它你想要的,你需要另一个函数,只需调用$('#query')。submit();