Javascript 正确调用JSON函数

Javascript 正确调用JSON函数,javascript,json,Javascript,Json,当我有这个JSON数据时,如何正确调用loadlist函数 我这样打电话,但不起作用: loadlist($('select#selName').get(0), 'pull.php','data.name') 以下是我的JSON数据: { data: [ { id: "e0b0d8sc5ffd82e", name: "John", } ] } 功能 function loadlist(selobj,url,nameattr) { $(sel

当我有这个JSON数据时,如何正确调用
loadlist
函数

我这样打电话,但不起作用:

loadlist($('select#selName').get(0), 'pull.php','data.name')
以下是我的JSON数据:

{
  data: [
    {
      id: "e0b0d8sc5ffd82e",
      name: "John",
    }
  ]
}
功能

function loadlist(selobj,url,nameattr) {
  $(selobj).empty();
  $.getJSON(url,{},function(data)
  {
    $(selobj).append(
        $('<option>Select</option>')
                    .val('null')
    );

    $.each(data, function(i,obj)
    {
        $(selobj).append(
             $('<option></option>')
                    .val(obj[nameattr])
                    .html(obj[nameattr]));
    });
  });
}
函数加载列表(selobj、url、nameattr){
$(selobj).empty();
$.getJSON(url,{},函数(数据)
{
$(selobj).append(
$(“选择”)
.val('null'))
);
$。每个(数据、功能(i、obj)
{
$(selobj).append(
$('')
.val(对象[名称属性])
.html(obj[nameatt]);
});
});
}

您认为
obj[“data.name”]
等于
obj.data.name
的假设是错误的。(等效项需要两个属性访问:
obj[“数据”][“名称”]

如果您认为可能需要执行嵌套属性检索,那么最好传入一个用于检索属性的函数。(如果需要使用动态计算的值,这也会起作用。)

函数加载列表(selobj、url、getter){
$(selobj).empty();
$.getJSON(url,{},函数(数据)
{
$(selobj).append(
$(“选择”)
.val('null'))
);
$。每个(数据、功能(i、obj)
{
var值=吸气剂(obj);
$(selobj).append(
$('')
.val(值)
.html(值));
});
});
}
//电话如下:
loadlist($('select#selName').get(0),'pull.php',function(obj){
返回obj.data.name;
});

您是这样称呼它的吗?在
'pull.php
之后是否缺少一个
'
?什么是“它不工作”意思?不,不能这样使用括号表示法。我正在尝试使用示例代码,但仍然没有填写下拉列表。。还可能是什么?这是我得到的错误。你能发布你的更新代码吗?我的更新代码正是你发布的,我复制/粘贴了。。
function loadlist(selobj,url,getter) {
  $(selobj).empty();
  $.getJSON(url,{},function(data)
  {
    $(selobj).append(
        $('<option>Select</option>')
                    .val('null')
    );

    $.each(data, function(i,obj)
    {
        var value = getter(obj);
        $(selobj).append(
             $('<option></option>')
                    .val(value)
                    .html(value));
    });
  });
}

// Call as follows:
loadlist($('select#selName').get(0), 'pull.php', function (obj) {
    return obj.data.name;
});