Я отправляю значение через JQuery в метод действия MVC HttpPost, но вместо этого он получает нулевое значение. Когда я отправляю обычную строку, она работает нормально, но когда я отправляю массив, он получает нулевое значение. Вот код.MVC [HttpPost] Метод принимает нулевой параметр
код для отправки значения
function Submit() {
var QSTR = {
name: "Jhon Smith",
Address: "123 main st.",
OtherData: []
};
QSTR.OtherData.push('Value 1');
QSTR.OtherData.push('Value 2');
$.ajax({
type: 'POST',
url: '/Omni/DoRoutine',
data: JSON.stringify({ obj: 'Reynor here!' }),
// this acctually works
// and at the action method I get the object[]
// with object[0] = 'Reynor here!'
// but when I use the object I really need to send I get null
data: JSON.stringify({ obj: QSTR }), //I get null
contentType: 'application/json; charset=utf-8',
dataType: "json",
success: function (msg) {
alert('ok');
},
error: function (xhr, status) {
alert(status);
}
});
}
это действие код метода:
[HttpPost]
public ActionResult DoRoutine(object[] obj)
{
return Json(null);
}
Что такое решение для этого, и почему это происходит? спасибо
Я понимаю, что бы возможное решение, но я до сих пор не понимаю, почему. У меня был аналогичный метод на asp.net, на самом деле это был [WebMethod], и после моего первоначального подхода он работал нормально, я имею в виду, что я получил свой объект []. Почему это не работает с методом [HttpPost] на MVC? Что делать, если эта информация, которую я хочу отправить на сервер, будет означать другую структуру данных в зависимости от нескольких факторов? спасибо – Overlord
@Overlord возможно [это] (http://stackoverflow.com/questions/9067344/net-mvc-action-parameter-of-type-object) может помочь – aleha
спасибо aleha, ваш ответ был очень полезен в поиске моего решения – Overlord