Тело Всегда нулевой или неправильный формат в Angular - PullRequest
1 голос
/ 04 апреля 2020

У меня есть проблема, которую я должен решить. Я не понимаю, где моя вина. я уже следовал руководству, я пробовал решение в stackoverflow, но решение не работает.

, поэтому я хочу отправить сообщение с телом, оно должно быть JSON (я попробовал свою конечную точку с почтальоном, это прекрасно). каждый раз, когда я отправляю сообщение, оно всегда равно нулю или неправильный формат,

вот мой код.

const instance = axios.create({
      baseURL: 'https://us-central1-roamx-6c177.cloudfunctions.net',
      timeout: 1000,
      headers: {'Content-Type': 'application/json', 'Access-Control-Allow-Origin' : 'http://localhost:4200'}
    });

instance({
        method: 'post',
        url: '/SBpaymidrove',
        data: {a: "b", c: 2}
      }).then(response => console.log(response));

если я запусту, тело будет пустым,

но если я изменяю заголовок на

application/x-www-form-urlencoded

, это становится таким (войти в FireBase)

method: 'POST',
uri: 'https://api.sandbox.midtrans.com/v2/charge',
  body: { '{"a":"b","c":2}': '' },
  headers: 
   { Accept: 'application/json',
     'Content-Type': 'application/json'},
  json: true }

Я не понимаю, я попробовал это решение. Angular 7: отправка запроса всегда отправляет нулевое тело и Angular - вызов веб-API HttpPost со строкой FromBody - тело всегда равно нулю я пытался использовать http / common из angular тоже, но результат тот же.

тоже не работает. пожалуйста, помогите.

РЕДАКТИРОВАТЬ здесь, если я использую http от angular.

this.header = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');

this.http.post<DetailTransaction>('https://us-central1-***********.cloudfunctions.net/SBpaymidrove',
     {a: "b", c: 2}, {headers: this.header, withCredentials: true})
     .subscribe(
     data  => {
     console.log("POST Request is successful ", data);
     },
     error  => {
     console.log("Error", error);
     }
);
...