簡體   English   中英

帶有Laravel的Ajax無法正常工作

[英]Ajax with Laravel not working

我正在使用Laravel,並且嘗試使用AJAX將信息存儲在數據庫中,但出現此錯誤。

dev.js:4 POST http://127.0.0.1:8000/developer/work-links/addLink 419 (unknown status)

我已經嘗試了很多次,但是卻遇到了419錯誤或500錯誤。

這是我的路線

Route::group(['middleware'=>'developer', 'web'], function () {

    Route::get('developer', 'DeveloperController@index')->name('developer');

    Route::get('developer/work-progress', 'DeveloperController@progress')->name('progress');

    Route::get('developer/work-links', 'DeveloperController@projectLinks')->name('projectLinks');

    Route::post('developer/work-links/addLink','DeveloperController@addLink');


});

這是DeveloperController

public function addLink(Request $request) {

            $data = new ProjectLink();

            $data->order_id = $request->order_id;
            $data->link_title = $request->link_title;
            $data->link_description = $request->link_description;
            $data->link = $request->link;

            $data->save();

            return response()->json($data);


    }

這是刀片文件

@section('content')

    <div class="row">

        <div class="col-sm-6">

            <div class="card-box">

                <div class="form-group">
                    <input class="form-control" type="text" name="link_title" placeholder="title">
                </div>

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

                <div class="form-group">
                    <textarea class="form-control" name="link_description" id="" cols="30" rows="10"></textarea>
                </div>

                <div class="form-group">
                    <input type="hidden" name="order_id" value="{{$order->id}}">
                </div>

                <div class="form-group">
                    <button type="submit" class="btn btn-primary" id="addLink">Create Link</button>
                </div>

            </div>

        </div>

        <div class="col-sm-5 offset-1">


            <div class="card-box ribbon-box">
                <div class="ribbon ribbon-primary">Your Work Links</div>
                <div class="clearfix"></div>
                <div class="inbox-widget">
                    {{--<a href="#">--}}

                    @if(count($links) != 0)
                        @foreach($links as $link)
                            <div>
                                <h4 >{{$link->link_title}}</h4>
                                <p id="add_here"></p>
                                <p class="inbox-item-text">{{$link->link_description}}</p>
                                <p class="inbox-item-date">
                                    <a href="{{$link->link}}" target="_blank">
                                        <button type="button" class="btn btn-icon btn-sm waves-effect waves-light btn-success "> Click Me </button>
                                    </a>
                                </p>
                            </div>
                            {{--</a>--}}
                        @endforeach

                    @else
                        <div class="inbox-item">
                            <h1 class="display-4 text-muted" style="padding-top: inherit">No Links For Now</h1>
                        </div>
                    @endif
                </div>
            </div>


        </div>

    </div>

@stop

而且我還在頭部添加了這個meta標簽

<meta name="csrf-token" content="{{ csrf_token() }}">

這是AJAX腳本

  <script type="text/javascript">
        var token = $('meta[name="csrf-token"]').attr('content');

            $("#addLink").click(function () {

                $.ajax({

                    type: 'POST',
                    url: 'work-links/addLink',
                    dataType: 'json',
                    data: {

                        'link_title': $('input[name=link_title]').val(),
                        'link_description': $('textarea[name=link_description]').val(),
                        'link': $('input[name=link]').val(),
                        'order_id': $('input[name=order_id]').val(),

                    },
                    header: {"X-CSRF-Token": token},

                    success: function(data) {
                        console.log("Success!");
                    }

            });

        });


    </script>

看起來這可能是您的csrf標頭。

請將其添加到CSRF元標記下方的head標記中:

<script type="text/javascript">
    $.ajaxSetup({
      headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
      }
    });
</script>

您始終可以在chrome開發工具的“ network標簽下查看正在發送的標頭和數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM