Ich habe Vor- und Nachname Textfelder, Nachnamen auf Blur löst einen Ajax-Aufruf, um zusätzliche Daten zu erhalten, um andere Textfelder zu füllen. Der Anruf wird getätigt und ich sehe im Chrome-Entwicklungstool (Netzwerkregister), dass eine JSON-Zeichenfolge mit allen Daten zurückkommt, aber ich kann nicht herausfinden, wie die Textfelder gefüllt werden.Füllen Textfeld mit Ajax Anruf an Server
ajax Funktion:
$(function() {
$("#LastName").on('blur', function() {
var first = $("#FirstName").val();
var last = $("#LastName").val();
$.ajax({
url: '@Url.Action("SearchEmployee", "Employee")',
type: "GET",
datatype: 'json',
data: { 'firstName': first, 'lastName': last },
success: function (data) {
alert(data.ManagerFirst);
$("#ManagerFirst").val(data.ManagerFirst);
$("#ManagerLast").val(data.ManagerLast);
},
error: function() { alert("Huh? What? What did you need?.") }
});
})
})
kehrt so etwas wie dieses:
{"EmployeeId":0,"FirstName":"Bob","LastName":"Smith","EmailAddress":null,"ManagerEmail":"[email protected]","ManagerId":null,"ManagerFirst":"Boss","ManagerLast":"Man"}
Der 'Alarm' zeigt "undefiniert".
Ich dachte, wenn der Datentyp auf "json" gesetzt wurde, dann wurde parseJSON explizit nicht benötigt/wird für Sie erledigt? Edit: Eigentlich sollte das "T" in dataType Caps sein. Vielleicht war das die ganze Zeit das Problem? –
Ich habe den Tippfehler korrigiert und das Parsen hinzugefügt, kein Unterschied. Das Hinzufügen der parseJson-Zeile gibt den Fehler: "Unerwartetes Token o". Ich sollte es sowieso nicht parsen müssen, der Antwortheader ist schon 'Content-Type: application/json' – BattlFrog