使用以下脚本
后,我没有收到任何数据警报$(document).ready(function() {
$('.autosuggest').keyup(function() {
var search_term = $(this) .attr('value');
$.post('search.php', {search_term:search_term}, function(data) {
alert(data);
});
});
});
使用以下PHP代码
<?php
include('system/includes/db_connect.php');
if (isset($_POST['search_term']) == true && empty($_POST['search_term']) == false) {
$search_term = mysql_real_escape_string($_POST['search_term']);
$query = mysql_query("SELECT username FROM promoties WHERE username LIKE '$search_term%'");
while (($row = mysql_fetch_assoc($query)) !== false) {
echo '<li>', $row['username'], '</li>';
}
}
?>
如果我在警报中放入'test',它就可以正常工作,但是如果我提醒数据,它会给出一个空的警告框。
我还自己测试了PHP代码,它完美运行..
怎么了?谢谢!
答案 0 :(得分:2)
如果您的.autosugest
是输入(我认为是这样)......您需要通过
替换此
var search_term = $(this) .attr('value');
通过
var search_term = $(this) .val();
这里不需要 attr()
答案 1 :(得分:1)
Use simple falsy value check.
if(isset($_POST['search_term']) && !empty($_POST['search_term'])) {
// code here
}
或者 在for循环之前写一些echo。这将测试您的查询是否正在执行。