Ajax data 返回值的问题。 大家好我在PHP服务器端$this->ajaxReturn 了一个二维数组可是我在客户端访问data[0][0]的时候为什么没有值? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 js怎么能解析php的数组呢?你需要转换成js能够接受的格式 用eval将结果转换为Js对象,再处理。或请求时说明返回数据类型‘Jdon’再处理,比较方便。 客户端是js在取你的返回值你需要将你返回的东西 整理成一个js的数组格式或者你php json一下 js找个json包 反json一下 php5.2以上可以,其他的可以去下个json包去你应该返回一个json_encode($this->ajaxReturn)字符串给js,js可以直接解析为数组.. 你先要确认一下客户端确实收到了相应数据,还有就是二维数组需要转为JSON数据再输出,客户端取到的是JSON字符串,还需要eval一下才能作为数组使用。 我的二维数组大致是这样:Array ( [0] => Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 ) [1] => Array ( [0] => 10 [1] => 11 [2] => 12 [3] => 13 ) [2] => Array ( [0] => 20 [1] => 21 [2] => 22 [3] => 23 ) )请问我在php端json_encode后,javascript中怎么处理才能取到我想要的data[0][0]的值? 测试代码$ar = array(array(1,2,3),array(11,12,13),array(21,22,23));$s = json_encode($ar);echo <<< JS<script>b = $s; //直接写入ar = eval('$s'); //通过字符串传递alert(b[2][1]);alert(ar[2][1]);</script>JS; 给你个示例:<?phpif (!empty($_GET['ajax'])) { $arr = array(array(0,1,2,3),array(10,11,12,13),array(20,21,22,23)); echo json_encode($arr); exit;}?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="generator" content="editplus" /> <meta name="author" content="JnKc" /> <meta name="keywords" content="" /> <meta name="description" content="" /> <style type="text/css"> *{font-size:12px;} </style> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script></head><body><script type="text/javascript">$.getJSON('?ajax=true',{},function(data){alert('data[1][2]='+data[1][2]);});$.get('?ajax=true',{},function(data){eval('data='+data);alert('data[1][3]='+data[1][3]);});</script></body></html> 我用了最笨的方法,将数组的值用特殊字符连接成一个字符串,用js的split函数拆分 严格的说如果不用 xml 就不能叫 ajax 了AJAX Asynchronous JavaScript and XML(异步JavaScript和XML)比如用 JSON 就该叫AJAJ Asynchronous JavaScript and JSON php如何抓取弹出窗口提示用户名和密码的网页。 关于php商品排序的问题,待高手解决,痛苦ing。。。 很简单的程序逻辑问题.关于数组判断的. gbk_chinese_ci转utf8_general_ci uchome:mysql query error 服务器端脚本语言 求助:csrss+php占用100%cpu 关于 DomDocument的问题, 100分相送 公司给我的一个项目,为什么迁移到我电脑就出错??这是Apache URL重写问题吗? php 数组unset排序和json的问题 新手求助!!在线急等 找php开发 两年以上经验 上海
你需要转换成js能够接受的格式
你需要将你返回的东西 整理成一个js的数组格式
或者你php json一下 js找个json包 反json一下
你应该返回一个json_encode($this->ajaxReturn)字符串给js,js可以直接解析为数组..
Array (
[0] => Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 )
[1] => Array ( [0] => 10 [1] => 11 [2] => 12 [3] => 13 )
[2] => Array ( [0] => 20 [1] => 21 [2] => 22 [3] => 23 )
)请问我在php端json_encode后,javascript中怎么处理才能取到我想要的data[0][0]的值?
$ar = array(
array(1,2,3),
array(11,12,13),
array(21,22,23)
);
$s = json_encode($ar);echo <<< JS
<script>
b = $s; //直接写入
ar = eval('$s'); //通过字符串传递
alert(b[2][1]);
alert(ar[2][1]);
</script>
JS;
if (!empty($_GET['ajax'])) {
$arr = array(array(0,1,2,3),array(10,11,12,13),array(20,21,22,23));
echo json_encode($arr);
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="editplus" />
<meta name="author" content="JnKc" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<style type="text/css">
*{font-size:12px;}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$.getJSON('?ajax=true',{},function(data){alert('data[1][2]='+data[1][2]);});
$.get('?ajax=true',{},function(data){eval('data='+data);alert('data[1][3]='+data[1][3]);});
</script>
</body>
</html>
AJAX Asynchronous JavaScript and XML(异步JavaScript和XML)比如用 JSON 就该叫
AJAJ Asynchronous JavaScript and JSON