JSON-Fehler von ASP.NET MVC zurückgeben
Ich versuche, eine Fehlermeldung zurück über Json aus ASP.NET MVC-controller. Ich möchte zur Anzeige von Absatzmarken auf dem Bildschirm, so wird der Fehler wie folgt Aussehen:
Fehler 1.
Fehler 2.
statt "Error1.\u003cbr/\u003eErro2.\u003cbr.\u003e"
Hier ist meine ASP.NET MVC-code
Response.StatusCode = (int)HttpStatusCode.BadRequest;
string str = "Error 1.<br/>Error 2.<br.>";
return Json(str);
JavaScript (redigiert):
.ajax({...
error: function(xhr, textStatus, exceptionThrown) {
$('#result').html(xhr.responseText);
},
Debuggen des xhr.responseText ergibt: ""Error1.\u003cbr/\u003eErro2.\u003cbr.\u003e""
Irgendwelche Ideen?
Kommentar zu dem Problem
Ich lese zu schnell, mein Fehler :D.
Ich gehe davon aus, dass <br.> ist ein Tippfehler.
InformationsquelleAutor der Frage Dean | 2010-10-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
schöner wäre, um eine Liste der Fehler erstellen und dann den html-Code auf dem client.
und dann auf der client-Seite
können Sie auch zurück, eine spezifische Fehler-Objekt und verwenden Sie eine Vorlage Lösung, aber das ist die Idee
InformationsquelleAutor der Antwort Avi Pinto
Wenn Sie der Verwendung von JSON, die Sie wahrscheinlich nicht wollen, um HTML einbetten (diese Art von Niederlagen der Zweck der RÜCKFÜHRUNG ein "data" - Objekt, das Sie formatieren auf der Ansicht.)
Wenn Sie wollen, um zurückzukehren HTML, die Sie tun können, diese in Ihrem controller:
InformationsquelleAutor der Antwort Hector Correa
Scheint es mir, dass du bereits fast alles richtig. Die Ergebnisse, die Sie haben in der
xhr.responseText
ist ein JSON-string. So sollten Sie nur einen zusätzlichen Aufruf derJSON.parse
Funktiondann die Daten wie
'"Error1.\u003cbr/\u003eErro2.\u003cbr.\u003e"'
konvertiert den string'Error 1.<br/>Error 2.<br/>'
.Innerhalb von
success
event-handler dieajax
FunktionsaufrufJSON.parse
für Sie, aber Sie tun dies nicht innerhalb dererror
handler. So konvertieren Sie die server-Antwort vom JSON-string, den Sie haben, um manuell tun.InformationsquelleAutor der Antwort Oleg
Ja, du bist besiegt den Zweck wie @Hector sagte..
Und wenn Sie wollen true zurück, JSON, vielleicht versuchen eine Rückkehr
Json(Dictionary<String, Object>)
statt einerJson(string)
.InformationsquelleAutor der Antwort Bryan Migliorisi