Php 使用Post的Ajax自动完成会导致;“连接已重置”;错误和;net::ERR“u EMPTY”响应;控制台错误
您好,感谢您抽出时间阅读我的问题 我的网站托管在Godaddy上,我有“豪华Linux托管包” 我的网页使用一个简单的表单帮助用户找到市场,该表单使用JQuery、Ajax、PHP和MySQL来显示与其搜索词相关的建议 我在搜索字段中使用自动完成功能,这样当用户键入搜索词时,相关建议将显示在id为“list_area”的div中输入字段的下方 这些建议由JQuery和一个PHP脚本填充,该脚本通过AJAX“Post”方法(现在是AJAX方法,因为我想将错误记录到控制台中)提供搜索词 下面是在HTML页面中调用js脚本的地方:Php 使用Post的Ajax自动完成会导致;“连接已重置”;错误和;net::ERR“u EMPTY”响应;控制台错误,php,jquery,mysql,autocomplete,connection-reset,Php,Jquery,Mysql,Autocomplete,Connection Reset,您好,感谢您抽出时间阅读我的问题 我的网站托管在Godaddy上,我有“豪华Linux托管包” 我的网页使用一个简单的表单帮助用户找到市场,该表单使用JQuery、Ajax、PHP和MySQL来显示与其搜索词相关的建议 我在搜索字段中使用自动完成功能,这样当用户键入搜索词时,相关建议将显示在id为“list_area”的div中输入字段的下方 这些建议由JQuery和一个PHP脚本填充,该脚本通过AJAX“Post”方法(现在是AJAX方法,因为我想将错误记录到控制台中)提供搜索词 下面是在HT
<input autocomplete="off" type="text"
class="form-control input-lg" name="market_search"
id="market_search" placeholder="Enter a market name"
onkeyup="autoComplete();">
这里是search_markets.php
<?php
include("connect_to_mysql.php");
$output = '';
$search_term = mysql_real_escape_string($_POST['search_term']);
$sql = mysql_query("
SELECT name FROM markets
WHERE name LIKE '%$search_term%'
ORDER BY name LIMIT 0,10
");
$num_rows = mysql_num_rows($sql);
if($num_rows > 0){
$output .= '<ul>';
while($row = mysql_fetch_array($sql)){
$market_name = $row['name'];
$market_name = preg_replace('/\s{2,}/u', ' ', $market_name); // replaces large spaces with single space between words
$output .='<li onclick="set_item(\''.str_replace("'", "\'", $market_name).'\');">'.$market_name.'</li>';
}
$output .= '</ul>';
}
echo($output);
mysql_close($mysql_conn);
?>
function autoComplete()
{
var list_area = $('#list_area');
var min_length = 1;
var search_term = $('#market_search').val();
if (search_term.length >= min_length) {
$.ajax({
type: 'POST',
url: 'assets/scripts/search_markets.php',
data: {
search_term: search_term
},
success: function(data){
list_area.hide().html(data).fadeIn('fast');
console.log(status);
},
error: function(xhr, textStatus, error){
alert("Unable to retrieve data. Please try again.");
console.log(xhr.statusText);
console.log(textStatus);
console.log(error);
}
});
}else{
list_area.hide();
}
}
function set_item(item) {
// change input value
$('#market_search').val(item);
// hide proposition list
$('#list_area').hide();
}
<?php
include("connect_to_mysql.php");
$output = '';
$search_term = mysql_real_escape_string($_POST['search_term']);
$sql = mysql_query("
SELECT name FROM markets
WHERE name LIKE '%$search_term%'
ORDER BY name LIMIT 0,10
");
$num_rows = mysql_num_rows($sql);
if($num_rows > 0){
$output .= '<ul>';
while($row = mysql_fetch_array($sql)){
$market_name = $row['name'];
$market_name = preg_replace('/\s{2,}/u', ' ', $market_name); // replaces large spaces with single space between words
$output .='<li onclick="set_item(\''.str_replace("'", "\'", $market_name).'\');">'.$market_name.'</li>';
}
$output .= '</ul>';
}
echo($output);
mysql_close($mysql_conn);
?>