Я видел несколько вопросов, связанных с подобной проблемой, я прочитал их, последовал за ними, но все же у меня такая же проблема.
Я в основном создаю объект в javascript и пытаюсь вызвать метод на контроллере, который вернет строку html. Не JSON.
Я играю с dataType и contentType, но до сих пор не радуюсь. Приносим извинения, если фрагменты кода немного беспорядочны.
Построить объект в JS.
function GetCardModel() {
var card = {};
card.CardTitle = $("#CardTitle").val();
card.TopicTitle = $("#TopicTitle").val();
card.TopicBody = $("#TopicBody").data("tEditor").value();
card.CardClose = $("#CardClose").val();
card.CardFromName = $("#CardFromName").val();
return card;
}
Взгляните на объект - все выглядит хорошо и как следует в JSON.
var model = GetCardModel();
alert(JSON.stringify(GetCardModel()));
Сделать звонок...
$.ajax({
type: "POST",
url: "/Postcard/Create/Preview/",
dataType: "json",
//contentType: "application/json",
data: GetCardModel(),
processData: true,
success: function (data) {
alert("im back");
alert(data);
},
error: function (xhr, ajaxOptions, error) {
alert(xhr.status);
alert("Error: " + xhr.responseText);
//alert(error);
}
});
Всегда, когда я вхожу в контроллер, объект ВСЕГДА там, но с нулевыми значениями для всех свойств.