Javascript 如何在Laravel中使用Ajax上传文件我收到错误419(未知状态)
如何在Laravel中使用Ajax上传文件我收到错误419(未知状态)。 1.Javascript代码。 2.控制器代码。 3.路由器代码 Javascript代码Javascript 如何在Laravel中使用Ajax上传文件我收到错误419(未知状态),javascript,php,ajax,laravel,Javascript,Php,Ajax,Laravel,如何在Laravel中使用Ajax上传文件我收到错误419(未知状态)。 1.Javascript代码。 2.控制器代码。 3.路由器代码 Javascript代码 $("#front_image").change(function() { let photo = document.getElementById("front_image").files[0]; let formData = new FormData(); formData.append("photo", photo)
$("#front_image").change(function() {
let photo = document.getElementById("front_image").files[0];
let formData = new FormData();
formData.append("photo", photo);
formData.append("names",'ABC');
$.ajax({
type: "POST",
url:'/up',
data:{"_token": $('meta[name="csrf-token"]').attr('content'),"formdata":formData},
cache:false,
contentType: false,
processData: false,
success:function(data){
console.log("success");
console.log(data);
},
error: function(data){
console.log("error");
console.log(data);
}
});
});
控制器代码
public function Image(Request $request) {
return $request->get('names');
}
路由器代码
Route::POST('/up', 'Controller@Image')
尝试将
CSRF令牌添加到标题中,如下所示:
$("#front_image").change(function() {
let photo = document.getElementById("front_image").files[0];
let formData = new FormData();
formData.append("photo", photo);
formData.append("names",'ABC');
$.ajax({
headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
type: "POST",
url: '/up',
data: formData,
cache: false,
contentType: false,
processData: false,
success: function(data){
console.log("success");
console.log(data);
},
error: function(data){
console.log("error");
console.log(data);
}
});
});
此外,我更愿意像上面这个例子那样添加formData
。因此,您可以像在控制器中那样访问它。尝试将CSRF令牌
添加到标题中,如下所示:
$("#front_image").change(function() {
let photo = document.getElementById("front_image").files[0];
let formData = new FormData();
formData.append("photo", photo);
formData.append("names",'ABC');
$.ajax({
headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
type: "POST",
url: '/up',
data: formData,
cache: false,
contentType: false,
processData: false,
success: function(data){
console.log("success");
console.log(data);
},
error: function(data){
console.log("error");
console.log(data);
}
});
});
此外,我更愿意像上面这个例子那样添加formData
。因此,您可以像在控制器中那样访问它