【问题标题】:ajax post return 405 (Method Not Allowed) on Laravel 5.7Laravel 5.7 上的 ajax 后返回 405(不允许的方法)
【发布时间】:2018-10-31 00:09:36
【问题描述】:

你好 :) 我有一个注册表并将 Ajax 发布数据发送到控制器,但控制台返回 405 错误。以下是我的代码:

Javascript 代码:

$(function () {
    $('.btn-register').click(function (e) {
        e.preventDefault();
        var post = $('#register_form').serialize();
        console.log(post);
        $.ajax({
            type : 'post',
            url :'/user/register/',
            data : post,
            success : function (data) {
                console.log(data);
            }
        });
    })
})

路线 web.php

## User Section ##
Route::group(['prefix'=>'user'],function (){

    Route::post('register',function (\Illuminate\Http\Request $request){
        return $request;
    });

    # User MiddleWare
    Route::group(['middleware'=>'user'],function (){

    });
});

我的注册表:

<form method="post" action="/user/register" id="register_form">
    <div class="form-group text-right">

        <div class="input-group">
            <input type="text" class="form-control text-left" name="email">
        </div>
    </div>
    <div class="form-group text-right">

        <div class="input-group">
            <input type="text" class="form-control text-right" name="name">
        </div>
    </div>
    <div class="form-group text-right">

        <div class="input-group">
            <input type="password" class="form-control text-left" name="password">
        </div>
    </div>
    <div class="form-group">
        <input type="submit" class="btn btn-primary btn-register" value="reg">
    </div>
</form>

已添加更新后和注册表单。我正常测试了这个表单,没有 Ajax 工作得很好,没有问题。但是当我使用$.ajax$.post 时错误返回!!!

【问题讨论】:

  • 可以分享#register_form的代码吗?
  • 问题更新!
  • 你需要在你的ajax中传递令牌
  • 删除$.ajax()调用url :'/user/register/',中url末尾的斜杠
  • 感谢@simonecosci,这项工作很有魅力:)

标签: ajax laravel


【解决方案1】:

感谢@simonecosci。更改 Ajax url 工作:

url :'/user/register/'

url :'/user/register'

【讨论】:

    【解决方案2】:

    在您的 javascript 代码中发现错误

    $(function () {
        $('.btn-register').click(function (e) {
            e.preventDefault();
            var post = $('#register_form').serialize();
            console.log(post);
            $.ajax({
                type : 'post',
                    url :'/user/register',
                data : post,
                success : function (data) {
                    console.log(data);
                },
                error: function (error) {//add this also so you can get error if uccers
                     console.log(error);
                }
            });
        })
    });
    

    【讨论】:

      猜你喜欢
      • 2017-05-31
      • 1970-01-01
      • 1970-01-01
      • 2019-05-10
      • 1970-01-01
      • 1970-01-01
      • 2017-11-28
      • 2021-06-24
      • 2017-06-08
      相关资源
      最近更新 更多