input type = text $ POST value为null

时间:2010-07-27 17:43:33

标签: php html search parameters oop

我正在尝试通过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>";

这会显示一个空数组。我做错了什么?

1 个答案:

答案 0 :(得分:1)

将postData对象键更改为“search”或检查$ _POST ['bsearch']

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