ajax如何将返回值赋值给js里面的变量们?

mingfish 2009-11-11 04:05:04
如果有一大串变量值通过ajax从别的文件那里得到然后分别赋给js里面的很多变量,有什么好办法?
...全文
1044 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
codeyell-com 2009-11-13
  • 打赏
  • 举报
回复
《js和他的变量们》
lenovor61i 2009-11-13
  • 打赏
  • 举报
回复
晕哦。这个简单赛,你用自定义的字符串将你需要返回的值变量和值连接起来,成一条字符串,到时候在js里面解析出来不就ok了
striker_un 2009-11-13
  • 打赏
  • 举报
回复
楼主,用json变量,此法我屡试不爽。


function(data){
var myjson='';
eval('myjson=' + data + ';');

pandaidea 2009-11-12
  • 打赏
  • 举报
回复
你可以让PHP返回数据类型,例如XML类型或JSON类型。
这个你百度一下,都属于数据结构类型。
然后用JAVASCRIPT进行解析。

非常有易。
xuzuning 2009-11-12
  • 打赏
  • 举报
回复
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);
}
foolbirdflyfirst 2009-11-11
  • 打赏
  • 举报
回复
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格式交互的方式,解析麻烦得多.
mingfish 2009-11-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 foolbirdflyfirst 的回复:]
PHP code<?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>
[/Quote]
好强悍,非常好用,
不过还有个小问题,window[i]是什么意思,为什么后面是直接
alert(hd_count)
而不是
alert(window[hd_count])
window是系统自带变量吗?
wuwei001 2009-11-11
  • 打赏
  • 举报
回复
可以用数组存啊。然后在ajax处:

success:function(contents){
alert(contents.bo_count);
alert(contents.hd_count);
}
Abin-2008 2009-11-11
  • 打赏
  • 举报
回复
楼主问问题的方式 让回答者一眼就看的很舒服。。。
图文并茂!!!
foolbirdflyfirst 2009-11-11
  • 打赏
  • 举报
回复
<?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);//123
alert(hd_count);//456
</script>
阿_布 2009-11-11
  • 打赏
  • 举报
回复
根据你这个问题的话,试一下eval(contents);
mingfish 2009-11-11
  • 打赏
  • 举报
回复
通用做法是php返回json串, ajax回调解析json串
很有兴趣,能否简单举个例子?
foolbirdflyfirst 2009-11-11
  • 打赏
  • 举报
回复
通用做法是php返回json串, ajax回调解析json串
你也可以直接正则解析服务器器端返回的结果串。
mingfish 2009-11-11
  • 打赏
  • 举报
回复
将php文件里面的返回值传到js的两个变量中去,
得到的js文件里面两个变量分别为
bo_count=3

hd_count=3
阿_布 2009-11-11
  • 打赏
  • 举报
回复
按你的意思,bo_count的值应该为多少?hd_count的值应该为多少?
mingfish 2009-11-11
  • 打赏
  • 举报
回复
黑哥,返回的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";
阿_布 2009-11-11
  • 打赏
  • 举报
回复
success:function(contents){
bo_count = contents;
hd_count = contents;
}

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧