JSON.stringify
преобразует объект javascript в строку JSON. Если вы хотите отправлять запросы JSON в ASP.NET MVC 2, вам нужен поставщик значений JSON, поскольку он не является встроенным. См. этот блог для более подробной информации. В ASP.NET MVC 3 это работает из коробки благодаря встроенному JsonValueProviderFactory
.
Также, если вы хотите отправить JSON-запрос, вам также необходимо указать тип контента:
$.ajax({
type: 'POST',
url: '/EmployeeMaster/SaveAcademicInfo',
data: JSON.stringify(recordsToSave),
contentType: 'application/json',
dataType: 'json', // <!-- notice the capital T
success: function(result) {
success(result);
},
});
и если вы не хотите использовать JSON, вам нужно будет отформатировать запрос так, чтобы его мог понять механизм связывания по умолчанию. Попробуйте вот так:
var recordsToSave = [];
$.each($('#academics tr'), function (index, value) {
recordsToSave.push({
'name': '[' + index + '].Institution',
'value': $(this).find('.tdName').text()
});
recordsToSave.push({
'name': '[' + index + '].PassoutYear',
'value': $(this).find('.tdPassOutYear').text()
});
recordsToSave.push({
'name': '[' + index + '].Percentage',
'value': $(this).find('.tdPercentage').text()
});
recordsToSave.push({
'name': '[' + index + '].Specialization',
'value': $(this).find('.tdspecialization').text()
});
});
$.ajax({
type: 'POST',
url: '/EmployeeMaster/SaveAcademicInfo',
data: recordsToSave,
success: function (result) {
success(result);
}
});