【问题标题】:Send image with formData to Laravel using AJAX (405 Error)使用 AJAX 将带有 formData 的图像发送到 Laravel(405 错误)
【发布时间】:2023-03-12 22:57:01
【问题描述】:

我想将带有 jquery ajax 方法的图像发送到我安装 laravel 的服务器,但收到 405 Method not allowed 错误。

我也尝试创建一个“任何”根,但仍然无法正常工作。 此外,关于这个主题的所有其他帖子我都无法解决我的问题。

这是我的 javascript 代码。

$.ajaxSetup({
  headers: {
    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  }
});

var data = new FormData();
data.append('file', resp);

$.ajax({
  url: '/images/store',
  type: 'POST',
  data: data,
  cache: false,
  processData: false,
  contentType: false,
  success: function (data, textStatus, jqXHR) {}
});

在服务器端,我使用 laravel 的资源控制器,所以这是我的路由文件中的 sn-p。

Route::resource('images', 'ImageController');

我认为 laravel 的 store 方法是一个 post 路由,但如上所述,使用 any 路由我也会得到 405 错误。

【问题讨论】:

  • 添加像mimeType: 'multipart/form-data',这样的mime类型并尝试

标签: php jquery ajax laravel-5


【解决方案1】:

事实上,根据 laravel 5 文档:https://laravel.com/docs/5.4/controllers

如果您想在控制器中使用 store() 方法,您只需使用 POST 方法将请求发送到“/images”(而不是“/images/store”)

【讨论】:

    猜你喜欢
    • 2018-05-20
    • 2021-03-05
    • 2016-12-06
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多