ajax如何将返回值赋值给js里面的变量们?
发布网友
发布时间:2022-05-12 14:34
我来回答
共2个回答
热心网友
时间:2022-04-22 19:44
将php文件里面的返回值传到js的两个变量中去,
得到的js文件里面两个变量分别为bo_count=3和hd_count=3PHP code<?PHP
//生成json串,这个你可以考虑PHP自带的json_encode函数,也可以google个开源的PHP json类
$return = "";?><script type='text/javascript'>
var content = eval("(<?PHP echo $return;?>)");//这里的$return相当于ajax发送后服务器端返回的串
for(var i in content){
window[i] = content[i];}alert(bo_count);//123
alert(hd_count);//456</script>window['abc'] = 1;
JScript code<script type='text/Javascript'>
var content = {
bo_count : 123
hd_count : 345}alert(content['bo_count']);</script>json串效率还是挺高的,之前用xml格式交互的方式,解析麻烦得多.
file.PHP中应写作
echo 'bo_count='.$bocount=count($bo_array[0]);echo "n";echo 'bd_count='.$bocount=count($bo_array[0]);
这样在js中 contents 的值为 "bo_count=3nbd_count=3"也可以这样file.PHP中写作
echo 'bo_count='.$bocount=count($bo_array[0]);echo ";";echo 'bd_count='.$bocount=count($bo_array[0]);
这样在js中 contents 的值为 "bo_count=3;bd_count=3"
总之要通过ajax传递合法的js语句
然后在js中写作
success:function(contents) {
eval(contents);}用json变量,此法我屡试不爽。
JScript code
function(data){
热心网友
时间:2022-04-22 21:02
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<html>
<head>
<script type="text/javascript">
var strTEM="";//用于储存返回的数据
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
strTEM=xmlhttp.responseText;//返回数据赋值给js变量
document.getElementById("myDiv").innerHTML=strTEM;//写入div
}
}
xmlhttp.open("POST","http://zhidao.baidu.com/",true);//需要访问本域名下的地址测试 否则浏览器会因同源策略的影响组织请求
xmlhttp.send();
}
</script>
</head>
<body>
<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">请求数据</button>
<div id="myDiv"></div>
</body>
</html>