2011-05-31 66 views
0

我正在使用Jquery调用一个PHP脚本,然后生成一个数组。我正在使用有效的JSON阵列日志未定义到控制台无论我做什么

echo json_encode (array ("key"=>$value, "key"=>$value, "key"=>$value)); 

作为生成有效JSON数组的PHP文档的最后一行。我通过Firebug进行了检查。不幸的是,当我尝试使用点符号访问其中一个值时,它将以未定义的形式出现。

$.ajax({ 
     type  : "POST", 
     cache  : false, 
     url  : "/generateArray.php", 
     data  : { data: $(this).attr('id') }, 
     success: function(data) { 
        console.log(data.key); 
     } 

这是输出“未定义”的控制台,即使当我检查JSON输出数组是有效的。

我不知道如何甚至开始调试我的代码有什么问题。请帮忙!

+0

听起来像你可能有你的编码数据有问题。 [Fiddler](http://www.fiddler2.com/fiddler2/)在这种情况下是你的朋友:它会告诉你到底发送了什么。这是您开始调试的地方。 =) – 2011-05-31 23:23:26

回答

3

Are you sure data is json decoded在Javascript方面并不仅仅是String

+1

这是导致问题的最可能原因 - 在PHP中调用以下至少一项:ajax调用中的dataType ='json''或者PHP – 2011-05-31 23:24:04

+1

中的'header('Content-type:application/json')'同意,你的解析函数在哪里...这是下载办公室的URL [JavaScript JSON.org解析器](https://github.com/douglascrockford/JSON-js)。 – Zachary 2011-05-31 23:25:32

+0

非常感谢,我添加了JSON.parse,现在它工作得很完美。 – 2011-05-31 23:33:23

相关问题