2010-07-27 107 views
0

我试图通过jquery在keydown上发送搜索文本框的值到php页面,以便它可以显示包含搜索关键字的结果。但是,php页面并未读取输入文本框的$ _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

不萤火虫显示你的POST请求? – chelmertz 2010-07-27 17:45:30

+3

您的ajax调用填充'bsearch'而不是'搜索' – Fosco 2010-07-27 17:47:18

回答

1

要么改变POSTDATA对象键 “搜索” 或检查$ _ POST [ 'bsearch']

var postData = { "search" : $(this).val() };

+0

感谢您指出这一点! – input 2010-07-27 18:04:13

相关问题