Javascript HTTP post将null追加到请求数据
我有来自表单的数据,使用Javascript HTTP post将null追加到请求数据,javascript,laravel-5.2,ionic3,Javascript,Laravel 5.2,Ionic3,我有来自表单的数据,使用 我将表单值发送到HTTP post方法,如下所示 myFunction(formData){ let headers = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded', }); return new Promise( resolve => { this.http.post(this.my_api, formData, { h
我将表单值发送到HTTP post方法,如下所示
myFunction(formData){
let headers = new HttpHeaders({
'Content-Type': 'application/x-www-form-urlencoded',
});
return new Promise( resolve => {
this.http.post(this.my_api, formData, { headers: headers})
.subscribe( data => {
resolve(data);
});
});
}
当我控制台form.data时,我得到
{name:'myname',address:'myaddress'}
但是
我在api中得到的是
{{“name”:“myname”,“address”:“myaddress”}:null}
这使得我很难在后端获取值
p.S.我使用Laravel作为后端
为什么:null被追加到请求中?
如何在Laravel后端获取值?您必须对表单数据进行编码,然后将其发送到API调用
getFormUrlEncoded(formData) {
const formBody = [];
for (const property in toConvert) {
const encodedKey = encodeURIComponent(property);
const encodedValue = encodeURIComponent(toConvert[property]);
formBody.push(encodedKey + '=' + encodedValue);
}
return formBody.join('&');
}
然后调用函数
this.http.post(this.my_api, this.getFormUrlEncoded(formData), { headers: headers})
.subscribe( data => {
resolve(data);
});
});