我有这个页面(A)有一个输入字段,一旦你提交它,它会进行AJAX调用并显示结果。现在,我需要在另一个页面(B)上的搜索字段,一旦你提交它,它会将你重定向到前一页(A),结果显示就像你在第一页(A)上做的那样。
处理此问题的最佳方法是什么?
答案 0 :(得分:1)
您可以使pageA.php
获取包含搜索关键字的查询参数,如果为此参数指定了值,则会根据此值显示结果。结果将是一个简单的包含,以便它可以重用于AJAX查询和普通查询。
答案 1 :(得分:1)
我不确定为什么你需要在这个搜索中有两个单独的页面。最简单的方法就是将用户从页面B重定向到页面A并且搜索已经填写。换句话说,页面B确实没有做任何事情:
<?php
/**
* Page B
*/
if(isset($_REQUEST['b_search'])) {
header("Location: a_search.php?a_search=$_REQUEST[b_search]");
}
echo //page content
?>
<?php
/**
* Page A
*/
$search = isset($_REQUEST['a_search']) ? $_REQUEST['a_search'] : null;
//handle request for non-JS users, I hope
echo //page content with search filled in
?>
/**
* JS
*/
document.ready = function () {
if (document.getElementById('search_field').value != null) {
//make ajax call
}
}
答案 2 :(得分:0)
使用单一方法执行搜索功能。可以通过两种方式调用此方法。 1.使用Ajax 2.使用url参数
当你从第B页调用页面A时,你会将搜索查询作为url params传递..所以搜索已经完成,页面会显示结果。
当您使用页面A进行搜索时,将调用ajax方法并返回json / xml数据。
基本上,您的页面只需要包含两个逻辑!
答案 3 :(得分:0)
使用单一逻辑(如果ajax加载时间不是问题)你可以做这样的事情(或其中的任何变化):
<?php
$Term = (isset($_REQUEST['Term'])) ? $_REQUEST['Term'] : 'null';
// Optional default term
?>
<script>
function ajax(term){
if (term == null)
return false;
// ajax function for the search box
// probably fired onclick/onsubmit currently?
}
$(document).ready(function(){
ajax(<?=$Term?>);
});
</script>
或者你可以使用file_get_contents(“ajax_request.php?param = $ PostValue”)ajax处理程序和输出,而不需要ajax调用onload。
答案 4 :(得分:0)
所以你想要这个Ajax?
要使用Ajax,我建议你创建一个页面ajax.php它所做的只是接受一个查询并吐出结果。
ajax.php?query=foo
然后将结果输出到列表或其他内容中......
然后使用javascript显示它......
但这只是你想使用ajax。
答案 5 :(得分:0)
我使用ajax,jquery和json ...
在页面(A)中
$('input[name="find"]').live('click',function(){
if($(this).val()){
$.getJSON('find.php?users=' + $(this).val(), function(data) {
var rows= "";
$.each(data.users, function(i,user){
rows+= i % 2 ? '<tr class="flip">' : '<tr class="flop">'; ...
rows+= '<td>' + user.id + '</td>';
rows+= '<td>' + user.name + '</td>';
rows+= '<td>' + user.score + '</td>';
rows+= '</tr>';
});
$('#list tbody').html(rows);
}
});
});
页面find.php或页面(B)
<?php
$user = $_GET['users'] ;
// Search code by field ...
// Print de result in JSON format ...
?>
{
"action" : "find user",
"founds" : "2",
"users" : [
{
"id" : "33",
"name" : "Peter Park",
"score" : "343"
},
{
"id" : "1",
"name" : "Clark Kent",
"score" : "1200"
}
]
}
这样的页面(A)......
<table id='list' >
<thead><tr><th>
Id</th><th>
Name</th><th>
Score</th></tr></thead>
<tbdoy>
</tbody>
</table>
<table id='list' >
<thead><tr><th>