Passar o objeto JSON para o MVC Controller - sempre é nulo?
Eu já vi algumas perguntas aqui relacionadas a um problema semelhante, eu as li, as segui, mas ainda tenho o mesmo problema.
Basicamente, estou criando um objeto em javascript e tentando chamar um método no controlador que retornará uma string de html. Não é JSON.
Eu tenho brincado com dataType e contentType, mas ainda não tenho alegria. Portanto, desculpe-me se os trechos de código estiverem um pouco confusos.
Crie o objeto em 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;
}
Dê uma olhada no objeto - tudo parece bom e como deveria no JSON.
var model = GetCardModel();
alert(JSON.stringify(GetCardModel()));
Faça a chamada...
$.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);
}
});
Sempre que entro no controlador, o objeto SEMPRE está lá, mas com valores nulos para todas as propriedades.