Есть ли способ добавить ключи / значения FormData из объекта в Angular? - PullRequest
0 голосов
/ 01 августа 2020

У меня есть простой объект, который я определяю в своем классе Angular следующим образом:

  form_data = {
    info: {
      name: "",
      address: "",
      city: "",
      state: "",
      zip: "",
    }
  }

Я пытаюсь настроить новый метод для создания моих FormData, прежде чем он будет отправлен в мою внутреннюю службу, однако, похоже, что logi c не работает. Я пытаюсь назначить такие данные:

const formData = new FormData();
for (let i in this.form_data.info) {
  formData.append(i,this.form_data.info[i]);
}
this.api.submitData(formData).subscribe(response => {
  console.log(response);
});

Моя служба api относительно проста:

 submitData(data) {
    return this.http.post(this.baseUrl + '/upload.php', {data: data}).pipe(
      map(response => {
        return response;
      })
    );
  }

И тогда моя внутренняя служба (на данный момент) просто хочет убедиться данные отправлены:

if ( $_SERVER['REQUEST_METHOD'] === 'POST' ) {

$request_body = file_get_contents('php://input');
$post_data = json_decode($request_body, true);

echo json_encode($post_data);

}

Однако каждый раз, когда я проверяю отправку формы, все остается пустым, и я возвращаюсь в свою консоль:

"data": []

Любые мысли почему я не могу отправить formData в свою внутреннюю службу? Я что-то неправильно настраиваю на переднем конце?

1 Ответ

0 голосов
/ 01 августа 2020

Прежде всего посмотрите на вкладку сети вашего браузера, какие данные отправляются на бэкэнд, а затем попробуйте этот способ,

this.http.post(this.baseUrl + '/upload.php', data)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...