【问题标题】:Laravel 5.1 AJAX - Returning 405 GET Method Not Allowed even when I am sending a POST requestLaravel 5.1 AJAX - 即使我发送 POST 请求,也不允许返回 405 GET 方法
【发布时间】:2016-02-21 03:37:14
【问题描述】:

当我通过 AJAX 发送 POST 请求时,我的 Laravel POST 路由返回 405 GET Method not allowed 。但是问题是它在localhost 中有效,但在Heroku production server 中无效。我的 AJAX POST 请求作为 GET 请求发送到路由。下面我附上了截图和我的 AJAX 代码。

$.ajax({
            url: url,
            type: 'POST',
            data: data,
            contentType: 'application/json',
            headers: {
                'X-CSRF-TOKEN': token
            }
        })

我的路由配置为:

Route::post('/adminpanel/projects/delete/', 'AdminPanelController@deleteData');

【问题讨论】:

  • 尝试删除 /adminpanel/projects/delete <----- last slash 我不确定,但这对我有用
  • 该死的人.. 非常感谢.. 它的工作.. 知道它为什么工作吗?请发表您的评论作为答案,我会投票赞成...
  • 我不知道它在服务器中创建问题的原因,但仅在两天前解决了它。我为此搜索了很多,但找不到解决方案,最后自己解决了
  • 嗯..我认为它的 Heroku 问题是因为在 localhost 中它的工作没有任何问题..
  • 可能是,但我无法回答背后的原因

标签: php jquery ajax heroku laravel-5.1


【解决方案1】:

更新您的操作 url 来自

/adminpanel/projects/delete/

进入

/adminpanel/projects/delete
                        //^^ Removed that slash

删除那个斜线,它会为你工作。

【讨论】:

  • 有人能解释一下吗?
【解决方案2】:

如果你在 Laravel 中使用资源,那么通过命令检查路由列表:

php artisan route:list

看,如果您尝试发送的 POST 请求在路由中是否允许。 405错误一般是因为我们忘记在路由中提及请求。

【讨论】:

    【解决方案3】:

    对我来说,在我将路线从本地化路线组中取出后,它就起作用了。我正在使用laravel-localization

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-22
      • 2019-03-25
      • 1970-01-01
      • 2017-01-27
      • 2014-11-02
      • 1970-01-01
      • 2018-12-22
      • 2017-06-08
      相关资源
      最近更新 更多