PHP + jQuery + Ajax表单提交 - 在同一页面上返回结果

r0s*_*kar 4 php forms ajax jquery

我想要以下内容:

用户通过click(index.php)提交表单,表单输入由外部PHP文件(search.php)处理,结果发布在index.phpdiv中的原始页面()上.

我已经把大部分代码放在了一起.它在单击时提交表单并将其发送到PHP脚本.

我现在需要的是PHP脚本的结果被返回到原始页面(index.php).

到目前为止,这是我的代码:

function submit() {
    $(function() {
        var id = "id";
        var dataString = 'id=' + id;
        $.ajax({
            type: "POST",
            url: "inc/search.php",
            data: dataString,
            success: function() {
                goToByScroll("result");
                $('#result').html("<br><br><br><br><br><br><br><br><br><br><
                                   div class='center'><img src='img/loader.gif' /></div>").hide().fadeIn(2500, function() {
                $('#result').html("Finished");
                });
            }
        });
        return false;
    });
}
Run Code Online (Sandbox Code Playgroud)

我的PHP文件(用于测试)是:

<?php function safe($value)
{
    htmlentities($value, ENT_QUOTES, 'utf-8');
    return $value;
}
if (isset($_POST['id'])) {
    $id = safe($_POST['id']);
    echo ($id);
}
elseif (!isset($_POST['id'])) {
    header('Location: error?id=notfound');
} ?>
Run Code Online (Sandbox Code Playgroud)

我希望将结果search.php(在本例中为"id")发布到#result中,但我无法弄清楚如何:S

jon*_*tar 7

我想你几乎拥有一切.你所拥有的回调函数success需要一个代表结果的参数search.php

     success: function(res) {
             goToByScroll("result");
             $('#result').html("<br><br><br><br><br><br><br><br><br><br><div class='center'><img src='img/loader.gif' /></div>").hide().fadeIn(2500, function() {
                 $('#result').html(res + "<br /><br /> Finished");
             });
         } 
Run Code Online (Sandbox Code Playgroud)

res输出的一切都是search.php.回声,php标签以外的东西,等等你加载search.php自己的东西.

我不知道你是否想要'完成'仍然在那里.如果你不这样做,请把它拿出来.