繁体   English   中英

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

[英]PHP + jQuery + Ajax form submission - return results on the same page

我想要以下内容:

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

我已经把大部分代码放在了一起。 它在单击时提交表单并将其发送到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;
    });
}

我的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');
} ?>

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

我想你几乎拥有一切。 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");
             });
         } 

res是输出的一切,是search.php 回声,php标签之外的东西,等等你加载search.php本身你会看到的东西。

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

向成功函数添加参数,例如:

success: function(param) { ... }

param是一个字符串,它是服务器端脚本的所有输出。 您可以将其设置为您想要的任何内容并将其放在某个元素中

$("#element").html(param);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM