一个php+ajax+jquery制作智能提示的问题,英文和数字可以实现智能提示,汉字确始终无法实现,恳求帮助

test.html<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/T... test.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>无标题文档</title>
<script type="text/javascript" src="jquery.js"></script>
<script language="javascript">
$(document).ready(function(){
$("#test").keyup(function(){
//alert();
var val=$(this).val();
$.ajax({
type:"GET",
url:"test.php",
data:{val:val},
success:function(data){
$("#auto").html(data);
}
})
});
})

</script>
</head>

<body>
<input type="text" id="test" />  
<input type="button" id="bt" value="百度一下" />
<div id="auto"></div>
<div id="info"></div>
</body>
</html>

test.php

<?php
header("Content-type: text/html;charset=utf-8");
//echo $_GET['val'];
$conn=mysql_connect("localhost","root","");
mysql_select_db("ajax");
$val=$_GET['val'];
if($val!=""){
$sql="select distinct * from msg where uname like '%$val%' order by id desc limit 0,8";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)){
echo "<label>".$row['uname'].$row['txt']."</label>"."<br/>";
}
mysql_close($conn);
}

?>
展开
 我来答
匿名用户
2011-08-30
展开全部
JS换成下面的

<script language="javascript">
$(document).ready(function(){
$("#test").keyup(function(){
var val=$(this).val();
$.getJSON(
"test.php",
{val:val},
function(json){
var html = '';
if(json.success==false){
html = json.msg;
}else{
$.each(json.data, function(i, item){
html = html + item;
});
}
$("#auto").html(html);
}
);
});
});
</script>

PHP文件换成
<?php
$out = array('success'=>false, 'msg'=>'');

$val = isset($_GET['val']) ? strval($_GET['val']) : '';
if($val==''){
$out['msg'] = '请输入内容';
exit(json_encode($out));
}

$conn = mysql_connect("localhost", "root", "");
mysql_select_db("ajax");
$sql = sprintf("SELECT DISTINCT * FROM msg WHERE uname LIKE '%%s%' ORDER BY id DESC LIMIT 0,8", mysql_real_escape_string($val));
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
$out['data'][] = "<label>" . $row['uname'] . $row['txt'] . "</label>";
}
mysql_close($conn);

echo(json_encode($out));
?>

最终目的:用json数据传输,解决浏览器因为汉字编码的问题。
更多追问追答
追问
谢谢您,只是我没有学过json看不太懂。谢谢了
追答
JSON 就是一个数据格式而已。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式