Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 从JSON对象检索值时出现问题_Jquery_Json - Fatal编程技术网

Jquery 从JSON对象检索值时出现问题

Jquery 从JSON对象检索值时出现问题,jquery,json,Jquery,Json,我在从JQueryGet请求后返回的JSON对象中检索值时遇到了一些问题,我希望这里的人能够提供帮助。我想我可能在做一些愚蠢的事情,但我想不出来 在firebug中,响应显示为: [{"plan_id":"2","plan_name":"plan 2","plan_desc":"plan 2 desc"}] 但是,当我尝试检索这些值时,它们是未定义的 以下是我正在使用的代码: jQuery(function(){ jQuery("#add_plan").click(function(){ va

我在从JQueryGet请求后返回的JSON对象中检索值时遇到了一些问题,我希望这里的人能够提供帮助。我想我可能在做一些愚蠢的事情,但我想不出来

在firebug中,响应显示为:

[{"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 
      });
}
});
});
任何帮助都将不胜感激

谢谢


Paul

因为它是一个数组,所以需要数据[0]。请改为计划名称,或者如果希望得到多个结果,可能需要这样的循环:

$.each(data, function() {
  $("<label for='plans' />").text(this.plan_name).wrap("<li />").parent()
    .appendTo("#plan-list");
});

.

仔细观察,您的JSON结果

[{...}]
是数组[]中的对象{}

您将能够使用访问这些值

data[0].plan_name

上面的海报是正确的,但不要假设总是有数组,每次都要测试数据的值。如果是对象,请继续。如果是对象/数组循环