我是网络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。为什么?
答案 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) },
但我不明白为什么。