2013-03-19 69 views
0

在PHPPHP数组JSON为Javascript

<?php 
    $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); 
    echo json_encode($arr); // {"a":1,"b":2,"c":3,"d":4,"e":5} 
?> 
在JavaScript

$.getJSON('drivetracker2.php', function(data) { 
    console.log(data); 
}); 

我试图访问PHP数组这是通过JSON发送到的JavaScript。
但它说数据是未定义的。
有人知道为什么以及如何解决这个问题?

+1

如果您在浏览器中访问'drivetracker2.php',结果如何? – pktangyue 2013-03-19 09:13:28

+0

您发布的代码对我来说看起来不错。你是否想在其他地方访问数据? – 2013-03-19 09:15:19

+0

如果您使用Chrome/Firefox等现代浏览器,则应使用开发工具检查请求。这将允许您确定请求是否正确发送/接收。 – juco 2013-03-19 09:17:21

回答

1

试试这个

$.post('drivetracker2.php', function(data) { 
    console.log(data); 
},'json'); 
+0

为什么这应该有所作为?请解释。 – 2013-03-19 09:14:11

+2

您需要指定响应将以何种格式发送。在这里,他说Jquery“我等待的响应是一个JSON字符串”,所以它会自动解析为一个JSON对象 – Loupax 2013-03-19 09:16:57

+0

@Loupax:这是指向我吗? '.getJSON'还告诉jQuery将响应视为JSON。 OP的代码没有区别,只是它是POST而不是GET。 – 2013-03-19 09:30:25

1

添加这个你呼应JSON之前。

header('Content-Type: application/json');