【发布时间】:2017-05-26 18:36:26
【问题描述】:
我正在尝试将来自 typescript POST 调用的 JSON 对象传递给 Web API 方法。 Fiddler 显示该对象已转换为 JSON,并且 Content-Type 为“application/JSON”。但在 API 控制器上,参数值显示为 null 而不是 JSON。
打字稿:
createPO(product: string): Promise<string> {
var headers = new Headers();
headers.append('Content-Type', 'application/json');
let options = new RequestOptions({ headers: headers });
return this._http.post(this._creatPOUrl, JSON.stringify(product), options)
.toPromise()
.then(response => <string>response.statusText)
.catch(this.handleError);
}
网络 API: [HttpPost] 公共异步任务 CreatePOInMO([FromBody] 字符串产品) { 返回确定(); }
产品包含空值。 如果我从 typescript(这是一个 JSON) 传递产品对象内部的实际值,它就可以工作。但我不能像这样硬编码。
我关注了这个帖子:Angular2 Service not passing JSON to WebAPI 但看起来我正在做这里提到的任何事情。
【问题讨论】:
-
您能发布您的 WEB-API 配置吗?我想 JSON 转换器不期望 JSON 格式与标准 JSON 相同,例如我在从前端发布 { name: 'test' } 时遇到了类似的问题,be 中的预期类是 { Name: 'test ' } 因为骆驼案例,WEB-API 标准转换器无法翻译响应。还有一个请求可能会有所帮助
标签: javascript angular typescript asp.net-web-api asp.net-web-api2