将表单搜索提交数据传递到重定向的结果页面



我有一个使用AJAX(WordPress(表单来过滤结果的搜索页面。假设results.php为例。

我想做的是在另一个页面上使用相同的表单home.php但在提交后将重定向到带有其结果的results.php搜索页面(进入#response(。将表单数据传递和重定向到 AJAX 结果页面的最佳方法是什么?

阿贾克斯表单

$('#filter').submit(function(e){
e.preventDefault();
var filter = $('#filter');
$.ajax({
url: filter.attr('action'),
data:filter.serialize(),
type: 'POST', // POST
dataType: 'json',
success: function(response) {   
$('#response').html(response);
}
});
return false;
});

形式

<form action="<?php echo site_url() ?>/wp-admin/admin-ajax.php"     method="POST" id="filter">
<input id="address" name="property_location" placeholder="Input Address" type="text"/>
<button type="submit"  id="filter">Search</button>
<input type="hidden" name="action" value="my_search"> //my_search taken from ajax function query.
</form>

如果您在提交表单时重定向页面,则无需将值传递回主页.php然后重定向。

您仍然可以使用 AJAX 提交,但从 PHP 端进行重定向。保留 AJAX,以防出现需要通知用户的错误。

因此,在您提交到的 PHP 文件中,不要回显任何内容,只需重定向即可。如果出现错误,请发回适合错误消息的任何内容。

最新更新