Ich arbeite an einer Webapplikation, ASP.Net MVC 4.0 mit entityframework 6.0, versuche die Datenbank nach Benutzerauswahl zu aktualisieren. Daten werden mithilfe von jQuery AJAX an die Aktion des Controllers gesendet. Unten ist C# -Code angegeben, um eine Entität zu aktualisieren, die wiederum die Datenbank aktualisiert.jQuery AJAX führt immer einen Fehler aus: {}
Und hier ist jQuery AJAX Aufruf für diese Controller-Aktionsmethode.
function updateProduct() {
var productData = {
ProductName: $('#prodName').val().trim(),
ProductNumber: $('#prodNum').val().trim(),
CategoryName: $('#ctgryName :selected').text(),
ModelName: $('#mdlName :selected').text(),
ProductID: atob($('#editProductId').val())
};
debugger;
$('#divLoader').show();
$.ajax({
url: '@Url.Action("modidyProduct", "Home")',
data: JSON.stringify(productData),
type: 'POST',
dataType: 'json',
contentType: 'application/json;charset=utf-8',
success: function (jqXHR) {
//Below line will destroy DataTable - tblProducts. So that we could bind table again. next line - loadData();
$('#tblProducts').DataTable().destroy();
$('#divLoader').hide();
loadData();
$('#addModal').modal('hide');
$('#editProductId').val('');
},
error: function (msg) {
debugger;
$('#editProductId').val('');
$('#divLoader').hide();
alert(msg);
alert("What's going wrong ?");
//alert(jqXHR.responseText);
}
});
}
Nach jQuery AJAX-Methode & Aktion Controller ausgeführt wird, aktualisiert erfolgreich den Datensatz in der Datenbank. Antwortstatuscode - 200 & Status - OK wird zurückgegeben. Aber nur Fehler: {}, Code-Block wird jedes Mal in AJAX-Methode ausgeführt. Debugging screen capture with status-OK; statuscode - 200
Vielen Dank @Shyju, für Ihre Antwort. Diese detaillierte Erklärung ist sehr hilfreich für Neulinge wie mich. Aus deinem Kommentar habe ich abgeleitet, dass - contentType: 'application/json; charset = utf-8' verwendet, um den Server zu informieren, dass er Parameter in Form von 'json' als Anfrage erhalten würde. Und dataType: 'json' bereitet den Browser vor, um 'json'-Daten als Antwort zu parsen. @Shyju - Kommentar, wenn ich das richtig zusammengefasst habe. –
Ja. Der Server verwendet den Inhalt Type header und jquery verwendet dataType, um die Antwort zu verarbeiten – Shyju