我在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发送到后端服务的任何想法?我在前端侧设置不正确吗?
答案 0 :(得分:0)
首先查看浏览器的“网络”选项卡,将什么数据发送到后端,然后尝试这种方式,
this.http.post(this.baseUrl + '/upload.php', data)