У меня есть функция Javascript, которая называется sendData
.
var sendData = function (data) {
alert("The following data are sending to the server");
var dataToSend = JSON.stringify(data);
alert(dataToSend);
$.ajax({
type: "POST",
url: "Submit",
dataType: "json",
data: dataToSend,
contentType: "application/json; charset=utf-8",
success: function (response, textStatus, jqXHR) {
alert("success");
},
error: function (jqXHR, textStatus, errorThrown) {
alert("fail");
}
});
};
. Используя эту функцию js, я вижу значение dataToSend
[{"Seminar_Code":"CMP04","Speaker":"1","Tag":"1","DateAndTime":""}, {"Seminar_Code":"CMP04","Speaker":"2","Tag":"2","DateAndTime":""},{"Seminar_Code":"CMP04","Speaker":"3","Tag":"3","DateAndTime":""}]
Затем я проверилиспользуя http://jsonlint.com/. Это действительно.
Затем я использую приведенный ниже код на уровне контроллера.
[AcceptVerbs(HttpVerbs.Post)]
//[JsonFilter(Parameter = "seminar_detail", JsonDataType = typeof(Seminar_Detail))]
public ActionResult Submit(JsonResult Jresult)
{
//var ttt = JsonConvert.DeserializeObject(Request["jsonString"], typeof(List<Seminar_Detail>));
//var result = (new JsonSerializer()).Deserialize<List<Seminar_Detail>>(seminar_detail);
//var result = JsonConvert.DeserializeObject<List<Seminar_Detail>>(seminar_detail.ToString());
var result = JsonConvert.DeserializeObject<List<Seminar_Detail>>(Jresult.ToString());
return View();
}
Затем я получаю эту ошибку.
JsonReaderException was unhandled by user code
Unexpected character encountered while parsing value: S. Line 0, position 0.
Используя Immediate window from vs 2010 IDE --- > Jresult.Data
, я получаю нулевое значение.
Результат немедленного окна
Jresult.ToString()
"System.Web.Mvc.JsonResult"
Jresult.Data.ToString()
'Jresult.Data' is null
Jresult.Data
null
Я использую Newtonsoft.Json and Asp.net MVC 4
.Пожалуйста, дайте мне знать, как решить эту ошибку.