简体   繁体   English

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

[英]Laravel 5.2 ajax returns 500 Internal Server Error

My question has been asked and answered here : ajax post in laravel 5 return error 500 (Internal Server Error) 我的问题已在此处提出并回答: laravel 5中的ajax帖子返回错误500(内部服务器错误)
But the problem still exists for me. 但是问题仍然存在。

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

And create inherits admin that inherits master 并创建继承管理员的继承者

//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);
                }
            });
        });
    });

And in the controller : 并在控制器中:

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

And the route : 路线:

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

Any idea? 任何想法?

In the Laravel 5.2, the middleware has web, api, and auth. 在Laravel 5.2中,中间件具有Web,API和Auth。 If you want to use ajax sent data, you will use the api middleware with token. 如果要使用ajax发送的数据,则将带令牌的api中间件使用。 You can see this reference: https://mattstauffer.co/blog/multiple-authentication-guard-drivers-including-api-in-laravel-5-2 您可以看到以下参考: https : //mattstauffer.co/blog/multiple-authentication-guard-drivers-includes-api-in-laravel-5-2

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM