Jquery 将字符串值从视图传递到仅发送null的控制器

Jquery 将字符串值从视图传递到仅发送null的控制器,jquery,ajax,asp.net-mvc,model-view-controller,Jquery,Ajax,Asp.net Mvc,Model View Controller,我想向控制器发送一些数据,但我总是在控制器的参数中得到空值。我寻找解决办法,但没有找到解决办法。请提供一些建议或帮助 ajax调用 var submittedName = 1; $.ajax( { url: '/api/monitor/Detailsfetch', type: "post", data: { 'submittedName': submittedName}, success: function (data) {

我想向控制器发送一些数据,但我总是在控制器的参数中得到空值。我寻找解决办法,但没有找到解决办法。请提供一些建议或帮助

ajax调用

 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}`

从评论和您提供的少量信息来看,我猜您的路线设置不正确。如果您想测试这个(假设您没有更改默认规则)。尝试将参数重命名为id(在controller和JS中)。如果这样做有效,那是因为您的路线没有配置

在这种情况下,请参阅以寻求帮助

基本上,您的
应用程序\u start

RouteTable.Routes.Add(new Route {
    Url = "[controller]/[action]/[submittedName]",
    RouteHandler = typeof(MvcRouteHandler)
})

在这种情况下,无法使用以下数据发送参数值:{'submittedName':submittedName},因此可以选择在URL本身中传递参数数据

/api/monitor/Detailsfetch/?submittedName="+somename+"",

希望这能帮助一些人

您传递的不是字符串而是int。所发生的是调用的错误函数,在这种情况下,错误消息是什么?如果我传递的是字符串而不是int,结果是相同的,并且没有错误,但问题是当我在控制器上放置断点时,它会显示参数的空值。请尝试
键入:“POST”
而不是
“POST”
答案也没有任何区别HNx我将参数重命名为id………现在我将“Detailsfetch”作为参数的值,它与函数名相同………我真的做了什么蠢事吗@user1260967您是否解决了您评论的问题?请详细说明(作为对问题的编辑),例如,您的路由设置如何,您从何处获得提到的错误等当我传递数据时,它在浏览器中正确显示为“参数bla bla和Sources=bla+bla”但在控制器端,我得到的参数值为null,但一旦我将参数重命名为id…它将显示与方法名相同的参数值。@user1260967这是一个路由错误,没有确切的路径和路由信息,无法帮助您