Angular2 - Http POST 请求参数

新手上路,请多包涵

我正在尝试发出 POST 请求,但无法正常工作:

 testRequest() {
      var body = 'username=myusername?password=mypassword';
      var headers = new Headers();
      headers.append('Content-Type', 'application/x-www-form-urlencoded');

      this.http
        .post('/api',
          body, {
            headers: headers
          })
          .subscribe(data => {
                alert('ok');
          }, error => {
              console.log(JSON.stringify(error.json()));
          });
}

我基本上想复制这个 http 请求(不是 ajax),就像它是由 html 表单发起的一样:

网址:/api

参数:用户名和密码

原文由 Christopher 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 547
2 个回答

我认为正文不适合 application/x-www-form-urlencoded 内容类型。你可以尝试使用这个:

 var body = 'username=myusername&password=mypassword';

希望它可以帮助你,蒂埃里

原文由 Thierry Templier 发布,翻译遵循 CC BY-SA 3.0 许可协议

angular:
    MethodName(stringValue: any): Observable<any> {
    let params = new HttpParams();
    params = params.append('categoryName', stringValue);

    return this.http.post('yoururl', '', {
      headers: new HttpHeaders({
        'Content-Type': 'application/json'
      }),
      params: params,
      responseType: "json"
    })
  }

api:
  [HttpPost("[action]")]
  public object Method(string categoryName)

原文由 Muniyan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进