简体   繁体   English

如何在 Laravel 中使用 Ajax 上传文件我收到错误 419(未知状态)

[英]How to upload file using Ajax In Laravel I am getting error 419 (unknown status)

How to upload file using Ajax In Laravel I am getting error 419 (unknown status).如何在 Laravel 中使用 Ajax 上传文件我收到错误 419(未知状态)。 1.Javascript Code. 1.Javascript代码。 2.Controller Code. 2.控制器代码。 3.Router Code. 3.路由器代码。

Javascript Code Javascript代码

$("#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);
      }
  });
});

Controller Code控制器代码

public function Image(Request $request) {
  return $request->get('names');
}

Router Code路由器代码

Route::POST('/up', 'Controller@Image')

Try to add the CSRF-Token to your header like this:尝试将CSRF-Token添加到您的header如下所示:

$("#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);
    }
  });
});

Furthermore i would prefer to add the formData like this example above.此外,我更愿意像上面的这个例子一样添加formData So you can access it the way you did in your controller.因此,您可以像在控制器中那样access它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM