Angular HttpClient发布无法发送简单的字符串参数

时间:2018-11-24 10:20:20

标签: javascript c# angular http-post

我想向以字符串为参数的C#服务发送请求。我写了这样的角度服务:

export class CategoryService {

  constructor(private http: HttpClient) { }
  getCategory(categoryName: string): Observable<Category> {
    console.log(categoryName);
    return this.http.post("/category/GetCategory", { categoryName: categoryName }, { headers: new HttpHeaders({ 'Content-type': 'application/json' }) });
  }

我也尝试过:

export class CategoryService {

  constructor(private http: HttpClient) { }
  getCategory(categoryName: string): Observable<Category> {
    console.log(categoryName);
    return this.http.post("/category/GetCategory",  categoryName , { headers: new HttpHeaders({ 'Content-type': 'application/json' }) });
  }

但是当他们俩都成功发送请求时,该参数始终为null。 我的C#服务是:

    [HttpPost]
    public IActionResult GetCategory([FromBody]string categoryName)

3 个答案:

答案 0 :(得分:0)

我在这里找到了解决方案:  Angular2 - Http POST request parameters 我还应该从我的服务参数中删除[FromBody]。

答案 1 :(得分:0)

我可以提供自己的解决方案:)
角度:

Func(data: string): Observable<any> {
        let params = new HttpParams();
        params = params.set('data', data);
        return this.http.post("url", params);
    }

C#:

public IActionResult Method([FromForm]string data)

答案 2 :(得分:0)

<块引用>

最好和最简单的解决方案

dsbulk count -k keyspace -t table --log.verbosity 0 --stats.mode partitions