有些人可以建议如何在成功的Ajax表单提交后包含一个php文件来更新div中的内容吗?
这有效:
jQuery(form).ajaxSubmit({
success: function() {
$('#ajaxRenew').load('script.php');
}
});
但是我的script.php需要从它包含的页面中获取标题等(它通常可以正常工作),而使用.load它不会得到它们, 发出警告。
我读过在这种情况下会使用Ajax(.replace?),但我正在尝试一整天而无法使其工作。
我需要这样的东西:
jQuery(form).ajaxSubmit({
success: function() {
$('#ajaxRenew').replace('script.php');
}
});
我希望你能理解我的问题。谢谢!
答案 0 :(得分:1)
不可能,我不认为。一旦php上下文结束(即,当脚本第一次完成执行时),您将丢失包含。您应该能够在script.php中执行所有相关的包含,并通过ajaxSubmit传递需要通过POST或GET进行的所有参数。
答案 1 :(得分:0)
将所需的变量传递给Ajax/load函数。这将使用第二个参数中指定的数据创建Ajax POST请求。
例如,
<?php
//index.php
$variable = time();
?>
<div id="myDiv">
</div>
<script type="text/javascript">
$('#myDiv').load('responder.php', {"hello" : <?= $variable ?>});
</script>
?>
<?php
//responder.php
print_r($_POST);
?>
答案 2 :(得分:0)
您可以让脚本返回div的内容。也许这不是最好的做法,但你可以用JQuery做这样的事情。
$('#formId').submit(function ()
{
$.post('fle.php', {variable1: 'value'}, function (data)
{
/* Check data contents, maybe it's returned as json or what ever */
$('#divId').html(data);
}, 'json'); /* Skip the last option if you're not using json */
});
如果你必须包含一个完整的文件,我认为.load是唯一的选择。