在 angular 中将表单数据传递给参数时未定义
Getting undefined on passing form data to param in angular
我试图从我认为的表单向 formData
传递值,但是当我传递我的参数时,它显示 undefined
.
// Initialize Params Object
let myFormData = new FormData();
// Begin assigning parameters
const username = myFormData.append('myUsername', this.registerForm.value.firstname);
const email = myFormData.append('myEmail', this.registerForm.value.email);
//post request
return this.http.post('http://localhost:81/save.php/', myFormData).subscribe((res: Response) => {
console.log(res);
},
(err) =>{
this.indexedDbService
.addUser(username,email) // undefined , undefined
.then(this.backgroundSync)
.catch(console.log);
// this.backgroundSync();
})
}
但是,如果我尝试传递一个硬编码的 JSON 对象,它会正确地接受。
如何将数据从 myFormData
正确传递到 addUser
的参数中?
FormData.append
是一个无效函数,因此 username
和 email
在您的代码中将始终是 undefined
。
const example = new FormData();
const voidResult = example.append('foo', 'bar');
console.log(voidResult) // undefined
如果您想以这种方式访问它们,则需要将它们分配给您的表单值。示例:
const { firstname: username, email } = this.registerForm.value;
myFormData.append('myUsername', username);
myFormData.append('myEmail', email);
我试图从我认为的表单向 formData
传递值,但是当我传递我的参数时,它显示 undefined
.
// Initialize Params Object
let myFormData = new FormData();
// Begin assigning parameters
const username = myFormData.append('myUsername', this.registerForm.value.firstname);
const email = myFormData.append('myEmail', this.registerForm.value.email);
//post request
return this.http.post('http://localhost:81/save.php/', myFormData).subscribe((res: Response) => {
console.log(res);
},
(err) =>{
this.indexedDbService
.addUser(username,email) // undefined , undefined
.then(this.backgroundSync)
.catch(console.log);
// this.backgroundSync();
})
}
但是,如果我尝试传递一个硬编码的 JSON 对象,它会正确地接受。
如何将数据从 myFormData
正确传递到 addUser
的参数中?
FormData.append
是一个无效函数,因此 username
和 email
在您的代码中将始终是 undefined
。
const example = new FormData();
const voidResult = example.append('foo', 'bar');
console.log(voidResult) // undefined
如果您想以这种方式访问它们,则需要将它们分配给您的表单值。示例:
const { firstname: username, email } = this.registerForm.value;
myFormData.append('myUsername', username);
myFormData.append('myEmail', email);