客服端发送到服务器代码
<a value="<?php echo row_Recordset_task['test02'];?>" onclick="showUser(this.value)"><?php echorow_Recordset_task['test02'];?></a>
<div id="txtHint"></div>
JS处理
var xmlHttp
function showUser(str)
{
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.readyState=="complete")
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
PHP服务端接受参数
q=_GET["q"];
这个值在360浏览器中正常,在IE和谷歌浏览器中 undefined,结果是是
GET getuser.php?q=undefined&sid=0.2304172266740352
200 OK
129ms
ParamsHeadersResponseHTML
q undefined
sid 0.2304172266740352
在JS中alert出str依旧是undefined,说明原因是客户端中没有将参数传入 showUser(str) 中,应该怎么写? 参数的值是row_Recordset_task['test02']
经过多次测试,问题解决了,客户端中代码改为
<a onclick="showUser('<?php echorow_Recordset_task['test02'];?>')"><?php echo $row_Recordset_task['test02']; ?></a>
但是为什么之前在360浏览器中传参正常,而在IE ,chrome下不行呢?继续需找答案。。