我想向控制器发送一些数据,但我总是在控制器的参数中得到空值。我寻求解决方案,但没有达成解决方案。请提供一些建议或帮助。
ajax call
var submittedName = 1;
$.ajax(
{
url: '/api/monitor/Detailsfetch',
type: "post",
data: { 'submittedName': submittedName},
success: function (data) {
alert("passed");
},
error: function (xhr, ajaxOptions, thrownError) {
alert(thrownError);}
});
控制器部分
[System.Web.Http.HttpPost]
public ContentResult Detailsfetch(string submittedName)
{sone code here}`
答案 0 :(得分:1)
从评论和你提供的一些小信息我猜你的路线设置不正确。如果要测试此(假设您没有更改默认规则)。尝试将参数重命名为id(在控制器和JS中)。如果可行则那是因为您的路线未配置
在这种情况下,请参阅this寻求帮助
基本上你应该在application_start
RouteTable.Routes.Add(new Route {
Url = "[controller]/[action]/[submittedName]",
RouteHandler = typeof(MvcRouteHandler)
})
答案 1 :(得分:0)
在这种情况下无法使用数据发送参数值:{'submittedName':submittedName}所以另一种方法是在URL本身传递参数数据
/api/monitor/Detailsfetch/?submittedName="+somename+"",
希望这可以帮助一些人!