表单数据未进入 Laravel 5.7 that post from Angular 7
Form Data not getting in Laravel 5.7 that post from Angular 7
我正在使用 Angular 7
和 Laravel 5.7
。我需要 post 从 Angular 到 Laravel 的数据。
这是我的 Angular 7
代码到 post 数据到 laravel api :
const target = event.target;
const name = target.querySelector('#name').value;
const phone = target.querySelector('#phone').value;
const file = target.querySelector('#file').files[0];
const httpOptions = {
headers: new HttpHeaders({
'Authorization' : 'Bearer ' + Cookie.get('token'),
'Content-type': 'multipart/form-data; charset=utf-8; boundary=' + Math.random().toString().substr(2)
})
};
const input = new FormData();
input.append('name', name);
input.append('phone', phone);
input.append('file', file);
this.http.post(this.globvar.apipath + 'api/dpost/update/' + this.slug, input, httpOptions ).subscribe(
data => {
console.log(data);
},
error => {}
);
这是我的 Laravel 5.7 控制器代码:
static public function updatecarspa($slug, Request $request)
{
echo "<pre>";
print_r($request->input('name'));
echo "</pre>";
exit;
// $slug = $request->input('name');
return response()->json(['data'=>$slug], 200);
}
laravel 打印空白 <pre></pre>
;
没有错误打印
我是 angular 的新手,我没有从 angular 到 laravel 获取任何数据。请帮助我。
您的 Angular 代码没有问题。
试试下面的方法。
$inputs = Request::json()->all();
print_r($inputs['name']);
好的,我得出结论
在 Laravel 5.7 和 API 中,您只能 post JSON 数据。所以在我的 angular 我 post Content-type
数据 multipart/form-data
所以 angular Content-type
需要改变 application/json
所以 angular 我改变了 :
const input = {'name' : name, 'phone': phone, 'address' : address, 'pincode' : pincode, 'website' : website, image : this.is_uploded ? this.imagedata : ''};
const httpOptions = {
headers: new HttpHeaders({
'Authorization' : 'Bearer ' + Cookie.get('mmraccesstokenhope'),
'Content-type': 'application/json; charset=utf-8; boundary=' + Math.random().toString().substr(2) + ';',
})
};
this.http.post(this.globvar.apipath + 'api/dpost/update/' + this.slug, input, httpOptions ).subscribe(
(data: any[]) => {
this.Main.loading = false;
alert('update Success');
this.router.navigate(['/list/dpost']);
},
error => {}
);
同样对于 Image
文件,您需要将 base64 数据 url 发送到 API 服务器并保存图像。
我正在使用 Angular 7
和 Laravel 5.7
。我需要 post 从 Angular 到 Laravel 的数据。
这是我的 Angular 7
代码到 post 数据到 laravel api :
const target = event.target;
const name = target.querySelector('#name').value;
const phone = target.querySelector('#phone').value;
const file = target.querySelector('#file').files[0];
const httpOptions = {
headers: new HttpHeaders({
'Authorization' : 'Bearer ' + Cookie.get('token'),
'Content-type': 'multipart/form-data; charset=utf-8; boundary=' + Math.random().toString().substr(2)
})
};
const input = new FormData();
input.append('name', name);
input.append('phone', phone);
input.append('file', file);
this.http.post(this.globvar.apipath + 'api/dpost/update/' + this.slug, input, httpOptions ).subscribe(
data => {
console.log(data);
},
error => {}
);
这是我的 Laravel 5.7 控制器代码:
static public function updatecarspa($slug, Request $request)
{
echo "<pre>";
print_r($request->input('name'));
echo "</pre>";
exit;
// $slug = $request->input('name');
return response()->json(['data'=>$slug], 200);
}
laravel 打印空白 <pre></pre>
;
我是 angular 的新手,我没有从 angular 到 laravel 获取任何数据。请帮助我。
您的 Angular 代码没有问题。
试试下面的方法。
$inputs = Request::json()->all();
print_r($inputs['name']);
好的,我得出结论
在 Laravel 5.7 和 API 中,您只能 post JSON 数据。所以在我的 angular 我 post Content-type
数据 multipart/form-data
所以 angular Content-type
需要改变 application/json
所以 angular 我改变了 :
const input = {'name' : name, 'phone': phone, 'address' : address, 'pincode' : pincode, 'website' : website, image : this.is_uploded ? this.imagedata : ''};
const httpOptions = {
headers: new HttpHeaders({
'Authorization' : 'Bearer ' + Cookie.get('mmraccesstokenhope'),
'Content-type': 'application/json; charset=utf-8; boundary=' + Math.random().toString().substr(2) + ';',
})
};
this.http.post(this.globvar.apipath + 'api/dpost/update/' + this.slug, input, httpOptions ).subscribe(
(data: any[]) => {
this.Main.loading = false;
alert('update Success');
this.router.navigate(['/list/dpost']);
},
error => {}
);
同样对于 Image
文件,您需要将 base64 数据 url 发送到 API 服务器并保存图像。