【问题标题】:Laravel and AJAX 405 (Method Not Allowed) work on one page onlyLaravel 和 AJAX 405(不允许的方法)只在一个页面上工作
【发布时间】:2017-06-23 06:46:31
【问题描述】:

我有笔记功能这个笔记功能允许用户在网络应用程序中创建不是从任何路线

JQuery 代码

//CREATE NOTE BUTTON
$('#createNoteButton').click(function () {
    var title = $('#getNoteTitle').val();
    var body  = $('#getNoteBody').val();
    var users = $('#getNoteUsers').val();
    var CSRF_TOKEN = $('meta[name="csrf-token"]').attr('content');
    var data  = {
        _token:     CSRF_TOKEN,
        title:      title,
        body:       body,
        users:      users
    }

    $.ajax({
        type:'POST',
        url:'note-create',
        data: data,
        success:function(data){
            if(data == 1)
                location.reload();
        }
    });
});

NotesController.php

public function create(Request $request){
        $logged_user_id     = Auth::user() -> id;
        $logged_user_name   = Auth::user() -> name;
        $note = new Note;
        $note -> title      = $request -> title;
        $note -> body       = $request -> body;
        $note -> owner_name = $logged_user_name;
        $note -> owner_id   = $logged_user_id;
        $note -> save();
        $users = $request -> users;
        if($users != '')
            array_push($users, $logged_user_id);
        else
            $users = [$logged_user_id];

        $note -> users() -> attach($users);

        return '1';
    }

路线代码

Route::post('note-create',         'NotesController@create');

问题

一切正常,但仅在主页 route('/') 和任何其他路线中我收到此错误消息405 (Method Not Allowed)

我尝试过的

我试图检查路由和ajax请求中的url,我认为两者都是正确的

【问题讨论】:

  • 我通常会在 url:'note-create' 之前使用斜杠,即 JQuery 中的 url:'/note-create'。我不确定这是否是一个问题……只是一个建议
  • 天哪!我遇到了语法错误,你说得对,这是我的错,我需要写 url:'/note-create' 谢谢!
  • 这个问题现在解决了吗?

标签: javascript jquery ajax laravel laravel-5


【解决方案1】:

回答了 OP 的问题,但需要对其他人进行进一步解释:

您创建的 url 是相对的。它在家里“/”工作,但它会从其他页面创建一个相对 url,因此失败。

www.mySite.com/note-create

www.mySite.com/blog/note-create

您可以从任何 Laravel 刀片页面插入正确的 url,该页面适用于任何路径,如下所示:

<script>
   var url = "{{url('/note-create')}}";

   ...
</script>

查看 Laravel 文档了解更多关于 url 的信息:https://laravel.com/docs/5.6/urls

【讨论】:

    猜你喜欢
    • 2017-05-31
    • 1970-01-01
    • 2019-05-10
    • 2020-06-06
    • 2017-06-08
    • 2017-11-28
    • 1970-01-01
    • 2019-07-29
    • 2018-01-25
    相关资源
    最近更新 更多