【问题标题】:Ajax call has only the token in the responseAjax 调用在响应中只有令牌
【发布时间】:2020-01-21 23:14:12
【问题描述】:

我将 Laravel 与 Ajax 一起使用。
我正在尝试对控制器进行 Ajax 调用。我在$request 上做了一个print_r,但我只有数组中的令牌,没有其他数据。
我尝试在 Ajax 调用中处理从未出现在请求中的数据对象。

查看:

@section('head')
<meta name="csrf-token" content="{{ csrf_token() }}" />
@endsection
<div>
  <button type="submit" id="submit" class="btn btn-primary">Confirm</button>
</div>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script type="text/javascript">
$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
    }
});
</script>
<script type="text/javascript" src="{{ URL::asset('js/test.js') }}"></script>

test.js

 $( document ).ready(function() 
    {
        $( "#submit" ).click(function() 
        {
            $.ajax(
            {
                type:'POST',
                url:'{{ route("test") }}',
                data:{test: "test"},
                success:function(data) 
                {
                    console.log(data.msg);
                }
            });
        });
    });

控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Routing\Controller;

use App\Http\Requests;
use Session;

class testController extends Controller
{

    public function test(Request $request)
    {
     $data = $request->all();
     print_r($data);
   }
 }

结果

Array ( [_token] => fKmSJpY0DRyCqzXyDPo2LwiJSD1wEiThVYn29lX7)

【问题讨论】:

标签: php jquery ajax laravel


【解决方案1】:

我会尝试移动

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

进入$( document ).ready(function()

我认为可能是范围问题。试试看它是否有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多