2016-07-26 14 views
1

Ich habe eine Ajax-Antwort mit Daten aus einer SQL-Abfrage extrahiert. Es hat diese Struktur:Suchen Sie den Index eines Ajax-Anfrage-Element in Javascript

Response 
    id:"id" 
    titulo:"title" 
    url:"url" 

Was ich bin versucht, die Position innerhalb der Ajax-Antwort zu finden, wo eine bestimmte eindeutige ID ist.

$.ajax({ 
    url: 'select.php', 
    type: 'get', 
    data: { 
     "id": id 
    }, 
    dataType: "json", 
    beforeSend: function() {}, 
    success: function(response) { 
     console.log(response); 
     console.log(response.indexOf(27188964)); 
    } 
}); 

Das zweite Protokoll druckt -1, wohl wissend, dass die Zahl an der ersten Position sein sollte.

EDIT: muss ich die Position, um durch die Erhöhung 'Index' durch das Feld zu bewegen beginnen response[index].url

+0

was bedeutet es Antwortindex? – Ray

+0

können Sie bitte die Antwort einfügen? – brk

+0

indexOf gibt normalerweise -1 zurück, wenn für den Suchbegriff keine Ergebnisse vorliegen. –

Antwort

4

Wenn Ihre Antwort ist, dass Sie ein Array von Objekten Array.prototype.filter() verwenden können:

$.ajax({ 
    url: 'select.php', 
    type: 'get', 
    data: { 
     "id": id 
    }, 
    dataType: "json", 
    beforeSend: function() {}, 
    success: function(response) { 
     var resultIndex; 
     var result = response.filter(function(obj, index) { 
      if (obj.id === '27188964') { 
       resultIndex = index; 
       return true; 
      } 
      return false; 
     }); 

     console.log('resultIndex:', resultIndex); 
     console.log('result:', result); 
    } 
}); 
+1

Es ist eine gute Antwort, aber nicht abgeschlossen, ich brauche immer noch die Position innerhalb der Antwort-Array. – cargide

+0

@cargide Können Sie bitte Ihre Antwort posten? –

+0

@cargide aktualisiert die Antwort auf die richtige get 'resultIndex' und' result' Objekt –

Verwandte Themen