c# - MVC 单字符串 JSON 帖子总是在控制器中为空
问题描述
我在我的 MVC 5 应用程序中遇到了一个奇怪的问题,我想使用 Ajax 帖子将 Drop Down Selected 值传递给控制器。
邮政编码如下所示:
$(function () {
//Change the Value stream list each time the BU is selected
$('#Lob').change(function () {
alert(JSON.stringify($('#Lob option:selected').text()));
$.ajax({
url: '@Url.Content("~/Dashboard/GetValueStreams/")',
dataType: 'json',
type: 'POST',
data: JSON.stringify($('#Lob option:selected').text()),
contentType: 'application/json',
success: function (VSList) {
// do stuff
});
}
});
});
});
ALERT 工作正常并正确显示所选值。但是在控制器中,字符串显示为空。
[HttpPost]
public ActionResult GetValueStreams(string BUName)
{
// Here the BUName parameter is coming as null.
}
我尝试将我的 JSON POST 数据更改为以下内容:
data: {"BUName": JSON.stringify($('#Lob option:selected').text())},
这也行不通。任何帮助都感激不尽。谢谢。
解决方案
将您的数据更改为data: JSON.stringify({BUName : $('#Lob option:selected').text()})
.
我测试了它并且有效。
$.ajax({
url: '@Url.Content("~/Dashboard/GetValueStreams/")',
dataType: 'json',
type: 'POST',
data: JSON.stringify({BUName : $('#Lob option:selected').text()}),
contentType: 'application/json',
success: function (VSList) {
// do stuff
}
});
推荐阅读
- office365 - 通过 Microsoft Graph 从 PowerShell 更新联系人图像
- amazon-web-services - 将 EKS(AWS kubernetes)上 JHub 的入口流量列入白名单的好方法?
- jquery - 加载局部视图时来自 Jquery 的重复事件
- python-3.x - 如何循环游戏代码的某个部分?
- selenium - selenium.WebDriverException:返回值无法转换为 WebElement
- python - Python字典找不到键
- reporting-services - SSRS 子报告未在生产中显示
- cmd - 使用CMD输出日期时间只要
- c# - 不了解 EF DBContext 操作
- unit-testing - 为什么要将现有测试从 JUnit4 转换为 Junit5?