有这样的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中看到这个
{"Title":"Text for title ","Text for: description."}
然后
$.each( [ meta_from_url ], function( title, description ) {
alert( 'title_ ' + title + ' description_ ' + description );
});
有警报,请参阅
title_ 0 description_ {"Title":"Text for title ","Description":"Text for: description."}
我的代码中有什么不对? title为0,整个数据在描述中
答案 0 :(得分:1)
您的代码正确且运作正常。
$.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 );
});
答案 1 :(得分:1)
为什么要遍历对象的属性?只需直接访问它们
alert( 'title_ ' + meta_from_url.Title + ' description_ ' + meta_from_url.Description );
答案 2 :(得分:1)
像这样使用
var data = $.parseJSON( meta_from_url );
alert( 'title_ ' + data.Title + ' description_ ' + data.Description );
答案 3 :(得分:0)
$.each
的回调期望(索引,对象)作为参数。不是两个字符串。
这就是title_
为0
(索引)和description_
的原因,是整个对象的字符串表示形式。