我在从jQuery GET请求之后返回的JSON对象中检索值时遇到一些麻烦,我希望有人能够提供帮助。我想我可能会做一些愚蠢但却无法理解的事情。
在萤火虫中,响应显示为:
[{"plan_id":"2","plan_name":"plan 2","plan_desc":"plan 2 desc"}]
但是当我尝试检索它们时,它们是未定义的。
以下是我正在使用的代码:
jQuery(function(){
jQuery("#add_plan").click(function(){
var val = jQuery("#plan_id").val();
if (!isNaN(val))
{
jQuery.ajax({
success: function(data) {
if (data)
{
jQuery("#plan-list").append(
"<li>"
+ " <label for=\"plans\">" + data.plan_name + "</label>"
+ "</li>"
);
}
},
type: 'GET',
dataType: 'json',
url: 'http://example.com/plans.php?plan=' + val
});
}
});
});
任何帮助都将不胜感激。
由于
保
答案 0 :(得分:4)
因为它是一个数组,所以你需要data[0].plan_name
,或者如果你期望有多个结果,可能需要这样的循环:
$.each(data, function() {
$("<label for='plans' />").text(this.plan_name).wrap("<li />").parent()
.appendTo("#plan-list");
});
答案 1 :(得分:3)
仔细观察您的JSON结果
[{...}]
是数组({}
)内的对象([]
)。
您可以使用
访问这些值data[0].plan_name
答案 2 :(得分:0)
以上海报是正确的,但不要假设总会有一个数组,每次测试数据的值。如果它是一个对象,继续。如果它是一个对象/数组循环。