Я пытаюсь передать модель из представления в контроллер, используя AJAX, вызов AJAX работает с жестко запрограммированной строкой JSON, но не работает с фактическим JSON, и я не знаю почему, любая помощь очень ценится. Шаг за шагом вот что я сделал:
В представлении у меня есть
<script>
var FeedData = @Html.Raw(Json.Serialize(Model));
</script>
В моем JavaScript файле
var index= $(this).val();
var test = window.FeedData[index];
var json = {
prop1: 'test',
prop2: 'test2',
};
var data = {
json: JSON.stringify(json)
};
var data2 = {
json: JSON.stringify(test)
};
$.ajax({
type: 'GET',
dataType: 'json',
url: "/Feed/GetFeedDetails",
data: data,
success: function (json) {
if (json) {
alert('ok');
} else {
alert('failed');
}
},
});
Хорошо, обе переменные data
и data2
имеют JSON строковую форму ..
data: data,
// Работает
data: data2,
// это не работает работа
Мой контроллер
public async Task<PartialViewResult> GetFeedDetails(string json)
{
Feed feedData = JsonConvert.DeserializeObject<Feed>(json);
return PartialView("FeedDetailsModal", feedData );
}
Любая помощь приветствуется.