Ниже приведен мой запрос AJAX GET, который пытается передать несколько параметров, включая объект javascript, контроллеру mvc, но объект всегда принимается как null:
var sort = { column: 'UserName', order: 'desc' };
var sortParameter = JSON.stringify(sort);
$.ajax({
url: '@Url.Action("GetUsers", "Account")',
cache: false,
type: 'GET',
contentType: 'application/json; charset=utf-8',
data: { skipRecords: vm.pageIndex * 1000, sortParam: sortParameter },
success: function (data) {
}
});
Метод контроллера выглядит следующим образом:
[HttpGet]
public JsonResult GetUsers(int skipRecords, Sort sortParam, string userName = null)
{
}
Также ниже определен класс Sort:
public class Sort
{
public string column { get; set; }
public string order { get; set; }
}
Если я не использую JSON.stringify и передаю только объект javascript, ниже будет отправлен запрос:
GET /Account/GetUsers?skipRecords=0&sortParam%5Bcolumn%5D=UserName&sortParam%5Border%5D=desc&_=1408990051727 HTTP/1.1