POST 419(未知状态)laravel错误

时间:2018-03-15 18:05:26

标签: php ajax laravel laravel-5

我想使用ajax提交我的表单以下是我的javascript

$.ajax({

      type: "POST",
      headers: {
    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  }
      url: "http://localhost/shago/register/submit",
      data: user_firstname,

      dataType: "text",
      success: function(resultData) { alert("Save Complete") }
});

我在

中包含了元标记
<div id="individual" class="hid">
<form method="POST" id="individual_form" name="individual_form" action="{{ route('register.submit') }}">
<meta name="csrf-token" content="{{ csrf_token() }}">

并且在控制器中我刚刚返回了一条消息,但我正在

POST http://localhost/shago/register/submit 419(未知状态)

以上错误可以帮助我,让我知道任何其他输入我知道它主要是由csrf令牌引起的 (我已经在web.php和api.php文件中声明了提交路线)

3 个答案:

答案 0 :(得分:7)

试试这个

$.ajax({
  type: "POST",
  headers: {
  'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  }
  url: "http://localhost/shago/register/submit",
  data: {// change data to this object
     _token : $('meta[name="csrf-token"]').attr('content'), 
     user_firstname:user_firstname
  }
  dataType: "text",
  success: function(resultData) { alert("Save Complete") }
});

答案 1 :(得分:0)

1)在头部使用meta标签

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

2)在ajax中设置标头,例如

header:{'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},

3)发送带有数据的CSRF令牌

     data:({_token : $('meta[name="csrf-token"]').attr('content'), 
name:name,category:category}),

或CSRF令牌可以写为

 "_token": "{{ csrf_token() }}",

答案 2 :(得分:-1)

您可以将以下代码添加到主文件中

<script>
    $.ajaxSetup({
        headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') }
    });
</script>