asmx-web-service, json, javascript/jquery?
Ich bin mit asmx zum abrufen von Daten aus DB,
public class TestPage1
{
public int UserID { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string MiddleName { get; set; }
}
[WebMethod]
public EntityLayer.TestPage1 GetData(int id)
{
TestPage1 test = TestPage1.GetData(id).SingleOrDefault();
return test;
}
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "WebService.asmx/GetData",
data: "{id}",
dataType: "json"
});
Wie kann ich desrialize test-Objekt in javascript??
und gibt es einen besseren Weg?
Dank
InformationsquelleAutor Bart | 2010-08-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich empfehle Ihnen, schauen meine Vorherige Antwort für die in der Nähe Fragen Wie Baue ich ein JSON-Objekt zu senden, um eine AJAX-WebService? und Kann ich return JSON aus .asmx-Web-Service wenn der ContentType ist nicht JSON?
Den richtigen code sieht wie folgt aus
und
wo
JSON.stringify
ist eine Funktion aus dem Skript json2.js die Sie herunterladen können http://www.json.org/js.html.Wenn die
id
Werte sind integerJSON.stringify(myData)
sind die gleichen wiemyData
, aber für alles komplexere Beispiele, die ich strikt empfehlen Ihnen, diese Funktion zu verwenden.Wie Sie sehen, auch aus dem code der alle Ergebnisse der web-Methode wird gespeichert in der Eigenschaft
d
, so sollten Sie zum Beispielresponse.d.FirstName
syntax, um den Zugriff auf die ersten Namen.AKTUALISIERT: Im Falle von HTTP GET die
data
parameter werden sollte{id:JSON.stringify(myData)}
. Im Falle von HTTP POST:JSON.stringify({id:myData})
InformationsquelleAutor Oleg
Ein paar Dinge...
Einige ungetestet Beispielcode:
InformationsquelleAutor dana