我的 javascript 函数正在调用我的 MVC 4 控制器,但参数始终为空。这似乎是一个常见问题,我已经尝试了一些我研究过的东西,但没有任何效果。知道为什么它总是为空吗?
我的 javascript GetEntries() 函数正确地创建了一个显示值的警报:
function GetEntries(firstLetter) {
alert(firstLetter);
$.post('/Home/GetEntries',
firstLetter,
EntriesReceived());
}
我的控制器方法断点被命中:
public void GetEntries(string firstLetter)
{
Debug.WriteLine(firstLetter);
}
但是,firstLetter 始终为空。我不知道该怎么办。
失败的尝试:
我尝试使用 JSON.stringify 发布。
function GetEntries(firstLetter) {
alert(firstLetter);
var firstLetterAsJson = JSON.stringify(firstLetter);
$.post('/Home/GetEntries',
{ jsonData: firstLetterAsJson },
EntriesReceived());
}
我尝试将 HttpPost 属性添加到我的控制器:
[HttpPost]
public void GetEntries(string firstLetter)
{
Debug.WriteLine(firstLetter);
}
我尝试将参数名称更改为“id”以匹配我的路由映射:
[HttpPost]
public void GetEntries(string id)
{
Debug.WriteLine(id);
}