ajax如何将返回值赋值给js里面的变量们? 如果有一大串变量值通过ajax从别的文件那里得到然后分别赋给js里面的很多变量,有什么好办法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 success:function(contents){ bo_count = contents; hd_count = contents;} 黑哥,返回的contents是“bo_count=3<br>hd_count=3”这样一个字符串啊,用你的代码运行后bo_count = "bo_count=3<br>hd_count=3";hd_count = "bo_count=3<br>hd_count=3"; 按你的意思,bo_count的值应该为多少?hd_count的值应该为多少? 将php文件里面的返回值传到js的两个变量中去,得到的js文件里面两个变量分别为bo_count=3和hd_count=3 通用做法是php返回json串, ajax回调解析json串你也可以直接正则解析服务器器端返回的结果串。 通用做法是php返回json串, ajax回调解析json串 很有兴趣,能否简单举个例子? 根据你这个问题的话,试一下eval(contents); <?php//生成json串,这个你可以考虑php自带的json_encode函数,也可以google个开源的php json类$return = "{'bo_count':'123','hd_count':'456'}";?><script type='text/javascript'>var content = eval("(<?php echo $return;?>)");//这里的$return相当于ajax发送后服务器端返回的串for(var i in content){ window[i] = content[i];}alert(bo_count);//123alert(hd_count);//456</script> 可以用数组存啊。然后在ajax处:success:function(contents){ alert(contents.bo_count); alert(contents.hd_count); } 好强悍,非常好用,不过还有个小问题,window[i]是什么意思,为什么后面是直接alert(hd_count)而不是alert(window[hd_count])window是系统自带变量吗? window['abc'] = 1;等同于设置全局变量abc等于1,这个不重要,重要的是eval完json串后,你可以按照js访问对象属性的方式读值,想拿什么值就拿什么值.<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=3\nbd_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);} 你可以让PHP返回数据类型,例如XML类型或JSON类型。这个你百度一下,都属于数据结构类型。然后用JAVASCRIPT进行解析。非常有易。 晕哦。这个简单赛,你用自定义的字符串将你需要返回的值变量和值连接起来,成一条字符串,到时候在js里面解析出来不就ok了 楼主,用json变量,此法我屡试不爽。 function(data){ var myjson=''; eval('myjson=' + data + ';'); } 急!哪位大侠能帮帮我啊... 菜鸟问题??? 有没有这样的php数据库操作类么? PHP XML备份Mysql数据库 [求助]怎么设置zde的cvs 文件copy问题,在线等待!!!!! 关于乱码的问题. 这里有用PHP+PgSQL组合的吗?研究了一下感觉不错 在问个转义符 php页面不断弹出值不能实现 如何知道收件人邮件里是否成功显示我所发送的图片? 关于死循环执行一段代码的问题
bo_count = contents;
hd_count = contents;
}
用你的代码运行后
bo_count = "bo_count=3<br>hd_count=3";
hd_count = "bo_count=3<br>hd_count=3";
得到的js文件里面两个变量分别为
bo_count=3
和
hd_count=3
你也可以直接正则解析服务器器端返回的结果串。
很有兴趣,能否简单举个例子?
//生成json串,这个你可以考虑php自带的json_encode函数,也可以google个开源的php json类
$return = "{'bo_count':'123','hd_count':'456'}";
?>
<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>
alert(contents.bo_count);
alert(contents.hd_count);
}
不过还有个小问题,window[i]是什么意思,为什么后面是直接
alert(hd_count)
而不是
alert(window[hd_count])
window是系统自带变量吗?
等同于设置全局变量abc等于1,这个不重要,重要的是eval完json串后,你可以按照js访问对象属性的方式读值,想拿什么值就拿什么值.
<script type='text/javascript'>
var content = {
bo_count : 123
hd_count : 345
}
alert(content['bo_count']);
</script>
json串效率还是挺高的,之前用xml格式交互的方式,解析麻烦得多.
echo 'bo_count='.$bocount=count($bo_array[0]);
echo "\\n";
echo 'bd_count='.$bocount=count($bo_array[0]);这样在js中 contents 的值为 "bo_count=3\nbd_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);
}
这个你百度一下,都属于数据结构类型。
然后用JAVASCRIPT进行解析。非常有易。
function(data){
var myjson='';
eval('myjson=' + data + ';');
}