有没有一种方法可以从Angular对象中追加FormData键/值?

时间:2020-08-01 02:10:09

标签: php angular

我在Angular类中定义了一个简单的对象,如下所示:

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

我正在尝试建立一种新方法,以在将FormData提交给后端服务之前对其进行构建,但是,该逻辑似乎没有起作用。我正在尝试分配这样的数据:

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 :(得分:0)

首先查看浏览器的“网络”选项卡,将什么数据发送到后端,然后尝试这种方式,

this.http.post(this.baseUrl + '/upload.php', data)
相关问题