Как получить доступ к ответу formdata в angular - PullRequest
0 голосов
/ 27 мая 2020

Component.ts

 upload() {
      var formData: any = new FormData();
      formData.append('file', this.name);
      this.http.post('/temp/upload', formData,{responseType: 'text' })
        .subscribe((response) => {
             console.log('response received is ', response);
             if(response.code==400){
    alert("Upload success")
    }
    else{
    alert("Upload failed")
    }

      });}

сервер. js

 //upload
    router.post('/upload){
    if(!error){
       res.send({
             code: 400,
             success: "Upload success"
              });
    else{
    res.send({
    code:200
    }}
    }

Приведенная выше функция загрузки возвращает код : 400 в случае успеха. Проблема в том, что я могу получить доступ к "Код свойства" не существует для типа "строка" "

Заранее спасибо

1 Ответ

1 голос
/ 27 мая 2020

Я думаю, вы получили строку. Затем вы должны проанализировать строку JSON через JSON .parse (response).

Другая попытка: responseType: 'text' -> responseType: 'json'

this.http
  .post('/temp/upload', formData, {responseType: 'json'})
  .subscribe((response) => {
      const res = (typeof response === 'string') ? JSON.parse(response): response;
      console.log('response received is ', res);
    },
    (error) => console.error(error)
  );
...