Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Laravel的Ajax不起作用_Javascript_Jquery_Ajax_Laravel_Csrf - Fatal编程技术网

Javascript 使用Laravel的Ajax不起作用

Javascript 使用Laravel的Ajax不起作用,javascript,jquery,ajax,laravel,csrf,Javascript,Jquery,Ajax,Laravel,Csrf,我使用的是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('devel

我使用的是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
@节(“内容”)
创建链接
你的工作链接
{{--

{{----}} @endforeach @否则 暂时没有链接 @恩迪夫 @停止
我也在head部分包含了这个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>

var-token=$('meta[name=“csrf-token”]”)。attr('content');
$(“#添加链接”)。单击(函数(){
$.ajax({
键入:“POST”,
url:“工作链接/addLink”,
数据类型:“json”,
数据:{
'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(),
},
标头:{“X-CSRF-Token”:Token},
成功:功能(数据){
console.log(“成功!”);
}
});
});

看起来这可能是您的
csrf
标题

请将此添加到您的
head
标签中,位于
CSRF
元标签下方:

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

$.ajaxSetup({
标题:{
'X-CSRF-TOKEN':$('meta[name=“CSRF-TOKEN”]).attr('content'))
}
});

你可以在chrome开发工具的
网络
选项卡下查看发送的标题和数据。

我在网络选项卡
链接中获取这些数据\u title:gfgfgfg链接:gffgf订单\u id:1
但为什么我没有获取链接_description@MohanSharma
link\u description
不是
输入
,而是
textarea
因此将
$('input[name=link\u description]').val()
更改为
$('textarea[name=link\u description]').val()
是的,我修复了它,但仍然获得419状态error@MohanSharma您能否验证正在发送的头文件是否完全是大写的:
X-CSRF-TOKEN
在您的chrome开发工具中