如何将字符串发布到Web API控制器?

时间:2016-02-29 03:04:44

标签: asp.net-web-api

我是网络API新手。使用Visual Studio Community 2015.非常简单的测试代码。

WebApiConfig.cs:

         config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}"
        );

查看:

        $.ajax({
            url: 'api/ClassingAlgorithm/',
            type: 'POST',
            data: { userWeightings: JSON.stringify('hello') }
        });

控制器:

public class ClassingAlgorithmController : ApiController
{
    [HttpPost]
    public ClassingResult PostWeightings([FromBody]string userWeightings)
    {
        return null;
    }
}

在控制器方法中,“userWeightings”始终为null。为什么?

2 个答案:

答案 0 :(得分:0)

更改您的ajax请求,如下所示。

  $.ajax({
        url: 'api/ClassingAlgorithm/',
        type: 'POST',
        contentType: "application/json",
        data:  JSON.stringify('hello') 
    });

答案 1 :(得分:0)

我刚刚解决了这个问题:

工作代码在$ .ajax调用中具有以下内容:

data: JSON.stringify(userWeightings),

无效代码

data: { userWeightings: JSON.stringify(userWeightings) },

但我不明白为什么。