为什么这个JQuery函数适用于post
?但不是get
?我不想改变我的数据库中的任何内容只是为了返回一些信息......似乎就像我传递参数一样,它只是在type: post
中识别Ajax
,即使我的意图是不改变任何东西。如果我在控制器操作中不使用type:"post"
我的参数将是null
。
$(document).ready(function () {
$(".link").click(function () {
var grad = $(".link").data("graduate")
$.ajax({
type: "post",
url: $(".link").data("url"),
data: JSON.stringify( { graduate: grad }),
contentType: "application/json; charset=utf-8"
})
$("#myModal").modal("show");
})
})
这是我的控制者:
public ActionResult PopulateModal(CMIPGraduateVM graduate)
{
return PartialView(graduate);
}
答案 0 :(得分:1)
您可以在POST请求的正文中发送数据。您只能使用URL参数传递带有GET请求的数据,例如url.com?this=that&so=on
答案 1 :(得分:0)
将[HttpPost]
添加到您的控制器方法,以允许它接受发布的数据。
[HttpPost]
public ActionResult PopulateModal(CMIPGraduateVM graduate)
{
return PartialView(graduate);
}
并且CMIPGraduateVM
需要是一个具有graduate
属性的类,其类型与您使用grad变量提供的结构相匹配(var grad = $(".link").data("graduate");
不确定这是否为字符串或者布尔或对象等)。