Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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
Javascript 无法访问JSON对象的值_Javascript_Python_Json_Ajax_Flask - Fatal编程技术网

Javascript 无法访问JSON对象的值

Javascript 无法访问JSON对象的值,javascript,python,json,ajax,flask,Javascript,Python,Json,Ajax,Flask,我在用flask做一个小项目。现在,我正在尝试从JSON对象向select添加选项。尽管可以插入选项,但我无法访问它们的值 这是我的代码: for dealership in session.query(Dealership).filter_by(ownerID = userId).all(): dealership_list.append({'Name' : dealership.name}) return jsonify(names = dealership_list) Ajax

我在用flask做一个小项目。现在,我正在尝试从JSON对象向select添加选项。尽管可以插入选项,但我无法访问它们的值

这是我的代码:

for dealership in session.query(Dealership).filter_by(ownerID = userId).all():
    dealership_list.append({'Name' : dealership.name})

return jsonify(names = dealership_list)
Ajax代码:

success:function(result){
      $.each(result.names, function(Name, value) {
          $('#dealerships').append($("<option/>", {
              value: Name,
              text: value
          }));
      });
    },
result.names中的每个项目都是由查看功能定义的经销商

每个经销商都是由{Name:this\u经销商的名称}组成的dict

因此$.eachresult.names、functiondata{console.logdata}应该打印每个对象,它们是{Name:some\u Name}

所以把它改成

success:function(result){
  $.each(result.names, function(dealership) {
      $('#dealerships').append($("<option/>", {
          value: dealership.Name,
          text: dealership.Name
      }));
  });
},
把你的js改成

success:function(result){
  $.each(result.names, function(index,a_dealer_name) {
      $('#dealerships').append($("<option/>", {
          value: a_dealer_name,
          text: a_dealer_name
      }));
  });
}
result.names中的每个项目都是由查看功能定义的经销商

每个经销商都是由{Name:this\u经销商的名称}组成的dict

因此$.eachresult.names、functiondata{console.logdata}应该打印每个对象,它们是{Name:some\u Name}

所以把它改成

success:function(result){
  $.each(result.names, function(dealership) {
      $('#dealerships').append($("<option/>", {
          value: dealership.Name,
          text: dealership.Name
      }));
  });
},
把你的js改成

success:function(result){
  $.each(result.names, function(index,a_dealer_name) {
      $('#dealerships').append($("<option/>", {
          value: a_dealer_name,
          text: a_dealer_name
      }));
  });
}

@乔兰比斯利太棒了!我使用了第二种解决方案,但添加/更改了以下内容:

$.each(result.names, function(key,name) {
    $('#dealerships').append($("<option/>", {
        value: name,
        text: name
    }));
});

这是因为您的解决方案是打印索引而不是值。谢谢您的帮助

@JoranBeasley真棒!我使用了第二种解决方案,但添加/更改了以下内容:

$.each(result.names, function(key,name) {
    $('#dealerships').append($("<option/>", {
        value: name,
        text: name
    }));
});

这是因为您的解决方案是打印索引而不是值。谢谢您的帮助

修正:谢谢你的提醒。。。我不做太多的事。谢谢你的提醒。。。我做的不多