Jquery .ajax调用控制器,模型为空
本文关键字:模型 控制器 ajax 调用 Jquery | 更新日期: 2023-09-27 18:09:15
我花了大约10个小时,读了无数的帖子,试图弄清楚这个问题,但不得不承认失败,所以希望有人能帮我理清头绪。
我正试图将数据发送到我的控制器(GET)以返回部分视图。尽管我尝试了各种变化,但控制器接收的模型始终为空。为了保持简单,我将模型缩减为一个元素。
我错过了什么?(提前感谢)
模型:
public class TextContentViewModel
{
public string ContentType {get; set;}
}
控制器:
public ActionResult Preview(TextContentViewModel paneContent)
{
return PartialView("_Text");
}
Javascript:
<script type="text/javascript">
$("#previewButton").click(showPreview);
function showPreview() {
content = {
ContentType: $("#ContentTypeID").val(),
}
$.ajax({
url: '@Url.Action("Preview")',
type: 'GET',
contentType: 'application/json',
data: JSON.stringify(content),
success: function (result) {
$('#preview').html(result);
},
error: function (result) {
alert("something went wrong");
}
});
};
您的传入和传出变量应该具有相同的名称。
尝试将js变量名更改为
paneContent = {
ContentType: $("#ContentTypeID").val(),
}
同样,不要尝试使用GET
发送复杂的变量。这行不通。始终使用POST
type: 'POST',