将外部 JSON URL 标签和值拉到新数组

Pull external JSON URL labels and values to new Array

在我的 fiddle http://jsfiddle.net/UGYzW/319/ data is from local source at the moment and is simply called 'data'. How would I pull back data from external values? Please use either http://echo.jsontest.com/key/value/one/two 中,从第一个登录项中拉回值 'mralexgray'。我们是否需要将项目推送到新数组?

最后是JSONP,JSON还是.AJAX更好?

  var data =[
        {'label':'Core','value':1},
        {'label':' Selectors','value':2},
        {'label':'Events' ,'value':3}]; 

var nameArray = data.map(function(item){
    return {value: item.value, label: item.label};
});


$("#meta-area").autocomplete({
        source:nameArray,
        select: function(e, ui) {
            e.preventDefault() // <--- Prevent the value from being inserted.
            $("#meta_search_ids").val(ui.item.label);

            $(this).val(ui.item.value);
        }
    });
    //alert("this loaded");

由于您将 data 变量创建为 Array,在您的 ajax 响应后将所有变量推送到一个数组。稍后相同的脚本将与 map 函数一起使用

jsfiddle example这里

 $.ajax({
    url:'https://api.github.com/users/mralexgray/repos',  
    success:function(data) {
    var dataArray = [];
    for(var i=0;i<data.length;i++){
       dataArray.push(data[i]);
       console.log(data[i]);
    }
    var nameArray =  dataArray.map(function(item){
        return {value: item.owner, label: item.name};
    });

    $("#meta-area").autocomplete({
      source:nameArray,
      select: function(e, ui) {
          e.preventDefault();
          $("#meta_search_ids").val(ui.item.label);
          $(this).val(ui.item.value);
       }
     }); 
    }
  });