php数组用json_encode发送jquery,然后在输入字段中插入数组值

时间:2014-08-14 11:23:56

标签: php jquery arrays

有这样的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中看到这个

{"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,整个数据在描述中

4 个答案:

答案 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_的原因,是整个对象的字符串表示形式。