Я понимаю, что этот вопрос был опубликован тысячу раз, но я пробовал каждое решение безрезультатно.Объект JSON передан контроллеру NULL
У меня есть этот JSON объект:
{
"manufacture":"HP",
"model":"testModel",
"serialNumber":"testSerial",
"description":"Test Description",
"checkIn":true,
"stand":false,
"tilt":true,
"pivot":false,
"heightAdjust":true,
"size":27,
"portTypes":"2 VGA",
"resolution":"1080P"
}
я передать этот объект JSON к контроллеру, который просто
Function submitMonitor(monitor As Monitor)
Return False
End Function
Аякса вызова передать в контроллер выглядит следующим образом:
jQuery.ajaxSettings.traditional = true;
$.ajax({
url: '@Url.Action("submitMonitor", "Home")',
type: 'GET',
contentType: 'application/json',
//contentType: "application/json; charset=utf-8",
//dataType: 'json',
//processData: true,
data: JSON.stringify(data)
});
Я пробовал пройти:
data:data
Я пробовал без ajaxSettings.traditional линии. Я пробовал с включенными комментариями или выключенными, но до сих пор не повезло.
Это класс, к которому он должен перейти.
Public Class Monitor : Inherits HardwareData
Public stand As Boolean
Public tilt As Boolean
Public pivot As Boolean
Public heightAdjust As Boolean
Public size As Integer
Public portTypes As String
Public resolution As String
End Class
Вот класс, который наследует монитор:
Public Class HardwareData
Public key As Integer
Public manufacture As String
Public model As String
Public serialNumber As String
Public createdBy As String
Public createdTimeStamp As Date
Public description As String
Public checkIn As Boolean
End Class
Всякий раз, когда контроллер не вызывается, хотя, глядя на монитор переменной в отладчике, я вижу, что все значения установлены в настоящее время.
Любая идея, что может быть причиной этого?
ли у пробовали настройки CONTENTTYPE: 'приложения/JSON', DATATYPE: 'JSON' ,? –
Да, это тоже не сработало. Все еще передал все как ничего контроллеру, но, глядя на вызов на вкладке «Инфраструктура Chrome», все в нем есть как действительный JSON в вызове get. –