使用以下脚本后我没有收到任何数据警报
$(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>';
}
}
?>
如果我在警报中放置“测试”,它就可以正常工作,但如果我对数据进行警报,它会给出一个空的警报框。
我还自己测试了 PHP 代码,它运行得很好..
怎么了?谢谢!
最佳答案
如果您的 .autosugest
是一个输入(我认为是)...您需要通过以下方式获取其值
替换这个
var search_term = $(this) .attr('value');
通过
var search_term = $(this) .val();
attr()
这里不需要
关于php - PHP AJAX 后返回空数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15463583/