我创建了一个 ASP.Net API 控制器,我正在尝试使用 Angular 向其发出 POST 请求。请求到达我的控制器方法,但参数值为空。
我的角度代码:
$http({ method: 'POST', url: '/api/Contents', data: "value=foobar", headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }).
success(function(data) {
}).
error(function(data, status, headers, config) {
});
我也尝试过使用 json (Json 是我最终想要的):
$http({ method: 'POST', url: '/api/Contents', data: { "foo": "bar", "foo2": "bar2" }, headers: { 'Content-Type': 'application/json'} }).
success(function(data) {
}).
error(function(data, status, headers, config) {
});
我的(非常简单的)控制器方法如下所示:
public void Post([FromBody]string value)
{
//But Value is NULL!!!!!!
}
以下是我从 Chrome 中截取的请求标头中的一些值(我认为可能很有趣的值:
- 请求方法:POST
- 状态码:204 无内容
- 接受:应用程序/json,文本/纯文本,/
- 内容类型:application/x-www-form-urlencoded
- X-Requested-With: XMLHttpRequest
- 表单 Dataview sourceview URL 编码
- 值:foobar
- 服务器:Microsoft-IIS/8.0
- X-AspNet-版本:4.0.30319
我错过了什么?