以後我不使用下面的腳本空數據返回PHP AJAX
$(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代碼,它完美的作品..
有什麼不對?謝謝!
在討論您的潛在SQL注入問題之前。您是否嘗試設置顯式將'dataType'設置爲''html'',如$ .post('search.php',{search_term:search_term},function(data){...},「html」); '? – Alexander 2013-03-17 17:10:52
嘗試在PHP文件的開頭測試'echo $ _POST ['search_term']'。 – Qiao 2013-03-17 17:15:22