oparte na tym tutorialu: JSON Web Service And jQuery with Visual Studio 2008
Metoda Web zwraca produkt, który jest serialize d w formacie JSON. Ponieważ nie ma typu JSON
, zwróconą wartością jest String
z formatem JSON.
Po stronie klienta wywołanie ajax zwraca JSON.
Wynik wygląda {d: 'returned-string-with-JSON-format'}
Bardziej dokładnie coś takiego: {d:'{"ID":123,"Name":"Surface Pro 2"}'}
Zauważ, że 'returned-string-with-JSON-format'
to nie łańcuch obiekt JSON więc nie może zrobić result.d.ID
.
Zamiast tego trzeba konwertować go do obiektu JSON za pomocą JSON.parse(result.d)
lub eval(result.d)
Na koniec, co naprawdę chcesz jest to zrobić:
result = JSON.parse(result.d)
UPDATE również pod uwagę to demo, gdzie używam JSON w formacie smyczkowym i konwertuję go na obiekt JSON:
powiązane: http: // stackov erflow.com/questions/739859/returning-html-from-json-webservice-what-is-the-d –
powiązane: http://stackoverflow.com/questions/2811525/removing-the-d-object-from- asp-net-web-service-json-output NB Zmieniłem zdanie na temat mojego VTC na to pytanie - to pytanie, mimo że jest nowsze, jest bardziej skupione i ma lepsze odpowiedzi –