Laravel 5.2 ajax 返回 500 内部服务器错误


Laravel 5.2 ajax returns 500 Internal Server Error

我的问题已经在这里提出和回答:Laravel 5 中的 ajax 帖子返回错误 500(内部服务器错误)
但问题对我来说仍然存在。

//master.blade.php
<!DOCTYPE html>
<html>
<head>
...
<meta name="csrf-token" content="{{ csrf_token() }}">
...
</head>

并创建继承主的继承管理员

//create.blade.php
@extends('admin')
@section('head_scripts')
<script>
    $(function(){
        $.ajaxSetup({
            headers: {
                'X-CSRF-TOKEN': $('[name="_token"]').val()
            }
        });
        $('#country_id').change(function(){
            $('#province_id').find('option').remove().end();
            $('#province_id').attr('disabled', true);
            $('#city_id').find('option').remove().end();
            $('#city_id').attr('disabled', true);
            var cid=$(this).val();
            var params={"type":1, "country_id":cid};
            var paramsString=JSON.stringify(params);
            console.log(paramsString);
            $.ajax({
                url:'/company/ajax',
                type:'POST',
                data:{json: paramsString},
                dataType:'json',
                success:function(result){
                    console.log(result);
                    $('#provinceSelectContainer').html(result);
                }
            });
        });
    });

在控制器中:

public function ajax(string $params){
    if(!$params) return null;
    $params=json_decode($params);
    return ($params);
}

和路线:

Route::group(['middleware' => ['auth:api']], function() {
    Route::post('/company/ajax', 'CompanyController@ajax');
});

知道吗?

在Laravel 5.2中,中间件具有web,api和auth。如果要使用 ajax 发送的数据,则将使用带有令牌的 api 中间件。您可以看到此参考:https://mattstauffer.co/blog/multiple-authentication-guard-drivers-including-api-in-laravel-5-2

Route::group(['middleware' => ['auth:api']], function () {        
    Route::post('api', someController@indexAjax');
});