有这样的php数组
Array
(
[Title] => Text for title
[Description] => Text for: description.
)
然后从php用echo json_encode($meta_back, JSON_HEX_QUOT|JSON_HEX_TAG|JSON_HEX_AMP|JSON_HEX_APOS);
返回jquery
在jquery中使用alert查看这个
{"Title":"Text for title ","Text for: description."}
然后$.each( [ meta_from_url ], function( title, description ) {
alert( 'title_ ' + title + ' description_ ' + description );
});
And with alert见
title_ 0 description_ {"Title":"Text for title ","Description":"Text for: description."}
我的代码中有什么不正确的?标题为0,整个数据在description
为什么要在对象的属性上循环?直接访问
alert( 'title_ ' + meta_from_url.Title + ' description_ ' + meta_from_url.Description );
您的代码是正确的,并且运行正常。
$.each( [ meta_from_url ], function( title, description ) {
alert( 'title_ ' + title + ' description_ ' + description );
});
数组的标题是KEY,描述是VALUE。第一个条目的KEY值为0。因此它打印的是0。
你需要的是:
$.each( [ meta_from_url ], function( title, description ) {
alert( 'title_ ' + description.Title + ' description_ ' + description.Description );
});
像这样使用
var data = $.parseJSON( meta_from_url );
alert( 'title_ ' + data.Title + ' description_ ' + data.Description );
您的$.each
回调期望(索引,对象)作为参数。不是两根弦。这就是为什么title_
是0
(索引),description_
是整个对象的字符串表示。