2016-06-29 22 views
1

In meiner Datei http://jsfiddle.net/UGYzW/319/ stammen die Daten derzeit von lokaler Quelle und werden einfach "Daten" genannt. Wie würde ich Daten von externen Werten zurückziehen? Verwenden Sie entweder http://echo.jsontest.com/key/value/one/two und ziehen Sie den Wert 'mralexgray' vom ersten Login-Element zurück. Müssen wir die Elemente in ein neues Array verschieben oder nicht?Externe JSON-URL-Labels und -Werte auf neues Array ziehen

Schließlich ist es besser, JSONP, JSON oder .AJAX zu verwenden?

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"); 
+0

nur eine Randnotiz, JSONP/JSON und AJAX sind völlig verschiedene Dinge ... – Shaggy

Antwort

0

Da Sie erstellt Ihre data Variable als Array, nach dem Ajax-Antwort drücken alle Variablen auf ein Array. Später gleichen Skript arbeiten mit der map Funktion

jsfiddle example hier

$.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); 
     } 
    }); 
    } 
    }); 
+0

Danke. Hast du ein Beispiel für Ozgur? – Shucoder

+0

Ich habe meine Antwort @Shucoder bearbeitet –

+0

Ist getvalue.php rohe JSON? Ich brauche es bitte mit rohem JSON zu arbeiten. Oder zeigen Sie uns bitte den Inhalt von getvalue.php. Ich bin mir nicht sicher, ob das funktioniert oder nicht. – Shucoder