2012-04-09 13 views
0

bin eine Webservice von meinem Jquery alsExtrahieren von Datenwerten - jQuery

$.ajax({ 
     type: "POST", 
     url: "/DataService.asmx/Search", 
     contentType: "application/json; charset=utf-8", 
     data: "{'date' : '" + $("#txtDate").val() + "'}", 
     dataType: "json", 
     success: function (data) { 

     }, 
     error: function (req, status, error) { 
     } 
    }); 

in den Daten aufrufen bin einige Werte wie "[{"Id":10,"Name":"abdul samathu","Mobile":"8147708287","Email":"[email protected]"}]"

hier empfangen, wie kann ich die allein Werte, ich wie

versucht
var name=data.Name; 
var mobile=data.Mobile like this, but its not working can anyone help me here 
+1

CHCK dieses ... http: //stackoverflow.com/questions/3445859/asmx-web-service-json-javascript-jquery/3446517#3446517 –

Antwort

4

Verwendung

data[0].Name und data[0].Mobile

+0

danke für deine Antwort, es heißt Fehler wie Name ist null oder undefined, ich habe versucht den code var name = data [0] .Name; – shanish

+0

Sie können prüfen, was in Datenvariablen kommt mit console.log (Daten); Stellen Sie sicher, dass Daten ein Objekt sein sollten und dass keine Zeichenfolge auch den Parameter Name enthalten sollte. Das Antwortformat muss identisch sein, andernfalls müssen wir Bedingungen festlegen, um Daten entsprechend zu erhalten. – Dev

+0

Wenn ich data = jQuery.parseJSON (data.d) verwende funktioniert es gut, kann ich die getrennten Arrays sehen, aber das Problem ist, wenn ich den Haltepunkt hier setzen Es zeigt die Werte bei 0. Index, innerhalb der 0. Index wieder. ..then nur die valus angezeigt werden, wie kann ich den Namen von Oth der 0. Daten bekommen ...... – shanish

1

Ihre data ist ein Array von Objekten, kein einzelnes Objekt. Verwenden Sie data[0].Name, um auf den Namen des ersten Objekts zuzugreifen.

Edit: basierend auf Ihrer Post, aus irgendeinem Grund data sieht aus wie eine Zeichenfolge, nicht richtig JSON-decodierten Array. Versuchen Sie Folgendes:

data = jQuery.parseJSON(data); 
console.log(data); 
var name = data[0].Name; 
console.log(name); 
+0

hallo DCoder Dank für ur Antwort, habe ich versucht, ur-Code , es sagt Fehler wie Name ist null oder undefined – shanish

+0

nach dem Ausführen dieser Zeile Daten = jQuery.parseJSON (Daten); der Wert der Daten wird null, was ist das Problem – shanish

+0

wenn ich Daten = jQuery.parseJSON (data.d) es funktioniert gut, kann ich die getrennten Arrays sehen, aber das Problem ist, wenn ich den Haltepunkt hier setzen Es zeigt die Werte an 0. Index, innerhalb dieses 0. Index wieder .... dann werden nur die Werte angezeigt, wie kann ich den Namen von Oth von 0. Daten bekommen ...... – shanish

2

Was ich Ich mache hier den Web-Service an und löse die JSON-Objekte und drucke den Namen der Objekte. Sie können es nach Ihren Bedürfnissen ändern, aber das funktioniert.

$.ajax({ 
    url: "/DataService.asmx/Search", 
    dataType: "json", 
    type: "POST", 
    cache: false, 
    processData: false, 
    data: "{'date' : '" + $("#txtDate").val() + "'}", 
    contentType: "application/json; charset=utf-8", 
    success: function (data) { 

     if (data.d != null) 
      data = data.d; 

for (var i = 0; i < data.length ; i++) { 
    console.log(data[i].Name); 
} 

    }, 
    error: function (x, y, z) { } // 
}); 
+0

Danke für Ihre Antwort, es sagt Fehler auf der Konsole – shanish

+0

Stattdessen von console.log (data [i] .Name), setzen Sie alert (data [i] .Name). – Mez

+0

immer noch das Ergebnis als undefiniert – shanish