这是我使用自动完成的代码,当我使用单个文件例如aci.php时,该代码正常工作。 (正常工作)
<?php
include_once('AFactory.class.php');
$db=new AFactory();
$db->getDBO();
if(isset($_POST['queryString']))
{
$sql = "SELECT `name` FROM `liste_kala` WHERE `name` LIKE '%{$_POST['queryString']}%' LIMIT 0 , 30";
$result=$db->setQuery($sql);
$query=$db->setQuery($sql);
$result=$db->loadAssoc($query);
// echo '<pre>';print_r($result);echo '</pre>';
if($result)
{
foreach ($result as $value) echo '<li onClick="fill(\''.$value['name'].'\');">'.$value['name'].'</li>';
}
}
?>
但我将该代码粘贴到action.php文件中我可以检查post方法的操作但不能以这种方式工作: JQUERY方法:
function lookup(inputString) {
if(inputString.length == 0) {
// Hide the suggestion box.
$('#suggestions').hide();
} else {
$.post("aci.php", {queryString: ""+inputString+"" , postaction:'autocomplete' }, function(data){
if(data.length >0) {
$('#suggestions').show();
$('#autoSuggestionsList').html(data);
}
});
}
}
action.php的
<?php
include_once('AFactory.class.php');
$db=new AFactory();
$db->getDBO();
$action=$_POST['queryString'];
switch ($action)
{
case 'autocomplete':
if(isset($_POST['queryString']))
{
$sql = "SELECT `name` FROM `liste_kala` WHERE `name` LIKE '%{$_POST['queryString']}%' LIMIT 0 , 30";
$result=$db->setQuery($sql);
$query=$db->setQuery($sql);
$result=$db->loadAssoc($query);
// echo '<pre>';print_r($result);echo '</pre>';
if($result)
{
foreach ($result as $value) echo '<li onClick="fill(\''.$value['name'].'\');">'.$value['name'].'</li>';
}
}
break;
}
?>
答案 0 :(得分:0)
$action=$_POST['queryString'];
应该是:
$action=$_POST['postaction'];