php ajax 输入一个输出多个
<?phprequire('session.php');require('conn.php');header("Content-type:text/html;charse...
<?php
require ('session.php');
require ('conn.php');
header("Content-type: text/html; charset=utf-8");
//get the q parameter from URL
$q=$_GET["q"];
$user=mysqli_query($conn,"select username,part_name from part,user where part.part_no=user.part_no and user_no='".$q."'");
$getuser=mysqli_fetch_array($user);
echo $getuser['username'];
echo $getuser['part_name'];
?>
上面是PHP页面
下面是JS文件中的一个
function showHint(str)
{
if (str.length==0)
{
document.getElementById("username").innerHTML=""
document.getElementById("part").innerHTML=""
return
}
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="getuser.php"
url=url+"?q="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlhttp.status==200)
{
document.getElementById("username").innerHTML=xmlHttp.responseText
document.getElementById("part").innerHTML=xmlHttp.responseText
}
}
问题是:理论上我输一个工号应该同步输出用户名和所在的部门,这个怎么实现,单一输出是可以的,但是加多一个部门就出问题了,.请问哪里有问题,能帮我修改一下 展开
require ('session.php');
require ('conn.php');
header("Content-type: text/html; charset=utf-8");
//get the q parameter from URL
$q=$_GET["q"];
$user=mysqli_query($conn,"select username,part_name from part,user where part.part_no=user.part_no and user_no='".$q."'");
$getuser=mysqli_fetch_array($user);
echo $getuser['username'];
echo $getuser['part_name'];
?>
上面是PHP页面
下面是JS文件中的一个
function showHint(str)
{
if (str.length==0)
{
document.getElementById("username").innerHTML=""
document.getElementById("part").innerHTML=""
return
}
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="getuser.php"
url=url+"?q="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlhttp.status==200)
{
document.getElementById("username").innerHTML=xmlHttp.responseText
document.getElementById("part").innerHTML=xmlHttp.responseText
}
}
问题是:理论上我输一个工号应该同步输出用户名和所在的部门,这个怎么实现,单一输出是可以的,但是加多一个部门就出问题了,.请问哪里有问题,能帮我修改一下 展开
2个回答
展开全部
ajax不能返回多个值的,想要一次性返回多个值,那就把多个值都放到一个数组里面就好了,而且要对这个数组进行json格式转化为字符串,这样前端才能接收的到才能用(前端接收得到之后还要转换成数组)。
更多追问追答
追问
那要怎么写呀..能写个实例看看么
追答
你上面不是输出了2个值吗:
echo $getuser['username'];
echo $getuser['part_name'];
这个$getuser现在是一个数组。然后你这样:
echo json_encode($getuser);
--------------------------------------------------------------
前台js接收时候就将json数据反转成数组:(如你js接收php过来的的变量是msg)
msg = eval(msg);
msg.username就是你要传的username,msg.part_name就是你的part_name。
2015-03-31
展开全部
童鞋,脑筋转一转嘛,用字符串分割,或者json格式
// php
echo $getuser['username'].';'.$getuser['part_name'];
// js
rs = xmlHttp.responseText.split(';');
// www.hi-docs.com/javascript/split.html
document.getElementById("username").innerHTML=rs[0];
document.getElementById("part").innerHTML=rs[1];
// 另外,建议使用jquery,源生JS学习有一定难度
追问
那你的方法,试了一下不行哦..输入的时候没有反应..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询