使用jQuery从ajax调用访问键值对

Accessing key value pairs from ajax call with jQuery

本文关键字:访问 键值对 调用 ajax jQuery 使用      更新时间:2023-09-26

我正在使用jquery从服务器调用Json对象。这是我的电话:

$.getJSON( url, function( data ) {...}

我正在(从console.log)返回以下对象:

> 0: Object
   cable key: "1"
   cable type: "Building Wire..."
> 1: Object
   cable key: "2"
   cable type: "PVC Wire..."
...

我正试图像下面的例子一样访问密钥和值,但没有任何运气。

$.getJSON( url, function( data ) {
    $.each( data, function( key,  value ) {
         $( "#CableType" ).append( $( "<option value='" + value['cable key'] + "'>" + value['cable type'] + "</option>" ) );
    });
})

感谢您的帮助

您正在尝试获取VALUE的属性,而不是对象。使用

data['cable key']

而不是

value['cable key']

此外,在循环中向DOM中添加元素是低效的。您需要将html收集在一个字符串中,循环结束后,将其放入DOM中。你可以这样做:

$.getJSON( url, function(data){
    var htmlCollection = "",
        propertyName;
    data.forEach(function(pair){            
        htmlCollection += "<option value='" + pair['cable key'] + "'>" + pair['cable type'] + "</option>";
    });
    $( "#CableType" ).append(htmlCollection);
});