我正在尝试通过keydown上的jquery将搜索文本框的值发送到php页面,以便它可以显示包含搜索关键字的结果。但是,php页面没有读取输入文本框[not button]的$ _POST。
HTML:
.keydown(function() {
//create post data
var postData = {
"bsearch" : $(this).val()
};
//make the call
$.ajax({
type: "POST",
url: "quotes_in.php",
data: postData, //send it along with your call
success: function(response){
$("#bquote").html(response);
}
});
})
. . .
<!-- Begin Search -->
<div id="search" style="display:none;">
<input type="text" class="bsearch" name="search" value="Search" />
</div>
<!-- End Search -->
PHP:
include_once "inc/class.quotes.inc.php";
$quotes = new Quotes($db);
if (isset($_POST['search']))
//$quotes->searchQuotes();
echo 'Searching. . ';
else
$quotes->displayQuotes();
它似乎没有读取$_POST['search']
,因为它不会回显文本'Searching. .'
,而是转到其他部分并显示引号。
我尝试使用此代码来了解发生了什么:
echo "<pre>";
print_r($_POST);
echo "</pre>";
这会显示一个空数组。我做错了什么?
答案 0 :(得分:1)
将postData对象键更改为“search”或检查$ _POST ['bsearch']
var postData = {
"search" : $(this).val()
};