[英]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.