JSON 数组格式的不同,对远程 JS 获取的影响

guanjunjie 2011-03-03 09:58:15
MYSQL数据库出来转JSON的数组
{"0":"5","Id":"5","1":"1","PicUrl":"1","2":"1","Button1":"1","3":"1","Button2":"1","4":"1","Button3":"1","5":"12","Button4":"12","6":"2","RightOne":"2"}

直接定义数组出来的数组
["beijing","shanghai","shenzhen"]

第一个数组的数据需要被远程客户端JS获取

但是不知道如何操作


<script type="text/javascript">
$(function(){
//http://api.jquery.com/jQuery.get/
//参数1:链接地址。参数2:回调函数,参数3:数据类型
$.get('read.php',function(city){
alert(city.join(','));
},'json');
});
</script>

第二个数组可以通过以上一段代码(jQuery)来传递到远程客户端JS


求助大神! 求师傅带学PHP . 希望可以加我QQ. 让我有机会多提问. 万分感谢! 277430884
...全文
157 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
guanjunjie 2011-03-04
  • 打赏
  • 举报
回复
问题已经解决. 把PHP页面的输出JSON的函数加上一个参数.改变输出的格式就可以了
guanjunjie 2011-03-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 aj3423 的回复:]

后台 echo json_encode($arr);
前台 arr = eval(r.responseText);
[/Quote]

远程的也可以?
aj3423 2011-03-03
  • 打赏
  • 举报
回复
后台 echo json_encode($arr);
前台 arr = eval(r.responseText);
guanjunjie 2011-03-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 falizixun2 的回复:]

别忘记补加JQUERY库到当前目录下,测试环境要到PHP后台测试,loaclhost/index.htm下:
<script type="text/javascript" src="jq.js"></script>
[/Quote]

你给的代码我试过了. 不行. 在html 页面弹窗提示 parsererror 应该是解析错误的意思
kaifadi 2011-03-03
  • 打赏
  • 举报
回复
别忘记补加JQUERY库到当前目录下,测试环境要到PHP后台测试,loaclhost/index.htm下:
<script type="text/javascript" src="jq.js"></script>
kaifadi 2011-03-03
  • 打赏
  • 举报
回复
如果数据是直接这样的:
$arr={"0":"5","Id":"5","1":"1","PicUrl":"1","2":"1","Button1":"1","3":"1","Button2":"1","4":"1","Button3":"1"};
echo $arr;
如果是数组,在PHP里就需要用json_encode转化了。
在前端就能直接获取到了。说这些也许不好理解,拿个例子自己测试下体会吧!
html页面:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>jquery xml解析</title>
<script type="text/javascript" src="jq.js"></script>
<script type="text/javascript">
$(document).ready(
function(){
$.ajax({
url:"jquery1.php",
type:"get",
cache:false,
dataType:"json",
data:{},
success:function(data){$('#dd').html(data.com);},
error:function(na,data){alert(data);}
});
});
</script>
</head>
<body>
<div id="dd"></div>
</body>
</html>

jquery1.php代码为:

<?php
header("Content-type: text/html; charset=utf-8");
header("ContentType:application/json");
$arr=array('name'=>'woaini','age'=>'1234','com'=>'中国人!');
echo json_encode($arr);
?>
注:为了防止页面出现中文乱码,HTML和PHP页面都用记事本打开修改为UTF-8编码。这个你应该会的。这个例子我测试过了。绝对可行。
aj3423 2011-03-03
  • 打赏
  • 举报
回复
eval 一下
arr = eval('["beijing","shanghai","shenzhen"]');

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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