Ich benutze ASP.NET MVC mit jQuery. Ich habe die folgende MVC-Aktion, die eine Teilseite auf Erfolg zurückgibt. Auf Anwendungsfehler, ich bin nicht sicher, was es zu senden für sie auf der Client-Seite eine korrekte Abwicklung:Wie man einen Fehler in einem Ajax-Szenario zurückgibt
public ActionResult LoadFilterSet(int filterSetId)
{
try
{
BreadCrumbManager bcManager = this.ResetBreadCrumbManager(this.BreadCrumbManagerID);
GeneralHelper.LoadBreadCrumbManager(bcManager, filterSetId);
ViewData["BreadCrumbManager"] = bcManager;
return View("LoadFilterSet");
}
catch (Exception ex)
{
return Content("");
}
}
Folgende ist meine jQuery Ajax-Aufruf. Beachten Sie, dass ich nach der Datenlänge suche, um sicherzustellen, dass keine Fehler vorliegen. Bitte schlage mir einen besseren Weg vor, dies zu tun.
$.ajax({
type: "GET",
dataType: "html",
async: true,
data: ({ filterSetId: selectedId }),
url: link,
contentType: "text/html; charset=utf-8",
success: function(data, textStatus) {
if (data.length > 0) {
// Clear the local filters first.
clearLocalFilters();
$('td.selected-filters table.filters-display').append(data);
}
}
});
Auslösen des Ajax-Fehlers macht den Trick. Ich mag diese Antwort. – mohang
Was ist der Typ von 'Content'? Ich sehe es nicht in der Dokumentation. alles, was ich sehe, ist 'ContentResponse', das keinen statusCode,' HttpStatusCodeResult', der den Fehler in einer HTML-Seite umbricht, und 'System.Web.UI.WebControls.Content' enthält, was völlig anders ist – roo2