POST数据没有以正确的格式从Angular 2服务发送,但在从PostMan发送时正常工作

时间:2018-01-11 17:30:21

标签: javascript angular express

从Angular 2服务发送POST数据时,如下所示:

  const data = new FormData();
        data.append('date', '12/01');
        data.append('weight', '170');

  return this.http.post(this.url + '/weight', data, {
    headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded')
  });

API(快速应用)控制台日志:

{ '------WebKitFormBoundary1SpZmi1Rt1eynOGJ\r\nContent-Disposition: form-data; name': '"date"\r\n\r\n12/01\r\n------WebKitFormBoundary1SpZmi1Rt1eynOGJ\r\nContent-Disposition: form-data; name="weight"\r\n\r\n170\r\n------WebKitFormBoundary1SpZmi1Rt1eynOGJ--\r\n' }

从PostMan发送时如此:

enter image description here

API控制台记录:

{ date: '12/1', weight: '170' }

哪种格式正确。如何让它与Angular服务类似地工作?

1 个答案:

答案 0 :(得分:2)

尝试以下代码段。

let data= new URLSearchParams();
data.set('date', '12/01');
data.set('weight', '170');

 return this.http.post(this.url + '/weight', data, {
    headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded')
  });

或尝试以下

let data= `date=${date}&weight=${weight}`