2012-04-18 54 views
0

我有一个AJAX数组返回JQUERY如下:JQUERY循环数组

enter image description here

我可以看到数组,如果我这样做:

alert(data); 

我然后通过运行阵列JSON解码如下:

var obj = JSON.parse(data); 

现在我需要能够查看数组和a使用元素。我尝试了几种方法,但我无法看到钩入元素 - 例如:jquery错误,因为页面没有显示。

这是我试过的方法之一:

obj.each(function(key, value) { 
    alert(key + ": " + value); 
} 

缺少的东西 - 任何帮助将非常感激。

THX

+0

http://stackoverflow.com/questions/3330099/jquery-question-about-looping-through-an-array 希望有所帮助。 – g13n 2012-04-18 05:57:24

+0

可能数据不是合法的JSON,所以'JSON.parse()'不处理它。调用'JSON.parse()'后,obj是什么? – jfriend00 2012-04-18 05:57:45

+0

是你的权利数据不是JSON所以我已经放弃了解析()...也增加了});之后.each()和页面现在显示...但仍然无法访问数组内容... hummmmmm – Adam 2012-04-18 06:07:18

回答

0
<!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></title> 
    <script src="Scripts/jquery-1.7.1.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      var data = '[{ "metatype": "descriptions", "pagename": "index", "metacontent": "testing1" }, { "metatype": "keywords", "pagename": "index", "metacontent": "testing2" }, { "metatype": "title", "pagename": "index", "metacontent": "testing3"}]'; 
      var obj = JSON.parse(data); 

      $.each(obj, function (i, entity) { 
       $('#result').append('<div>' + i + ": " + entity.metatype + ' ' + entity.pagename + ' ' + entity.metacontent + '</div>'); 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <div id="result"> 
    </div> 
</body> 
</html> 

    enter code here 
+0

进行现场演示,请参阅此链接:http://jsfiddle.net/nanoquantumtech/yctna/ – Thulasiram 2012-04-25 14:32:48

+0

这个你期待什么? – Thulasiram 2012-04-25 14:33:24