Ajax Post上的Laravel 500(内部服务器错误)

问题描述:

我试过在我的问题上做我的研究,但一直未能解决它。我正在尝试点击Ajax POST。我读过最受欢迎的问题是由于csrf_token导致的,但我相信我的处理正确吗?Ajax Post上的Laravel 500(内部服务器错误)

我不断收到此错误:在我master.blade.php文件的顶部

POST http://example.com/refreshCalendar 500 (Internal Server Error) 

这里是我的代码...

我对CSRF令牌meta标签

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

路线:

Route::post('/refreshCalendar', ['as' => 'refreshCalendar', 'uses' =>'[email protected]']); 

js函数

function refreshCalendar(obj){ 
var month = obj.data('month'); 
var year = obj.data('year'); 
history.pushState(null, null, '/month/'+month+'/year/'+year); 

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

$.ajax({ 
    type: "POST", 
    url: '/refreshCalendar', 
    dataType: 'html', 
    async:true, 
    data: data, 
    success: function(data){ 
      $('#calendarHolder').html(data); 

    }, 
    error: function(){alert("There was an error retrieving information");return false;} 
}); 

}

我的控制器:

namespace App\Http\Controllers; 

use DateTime; 
use Illuminate\Http\Request; 

class Calendar extends Controller 
{ 


public function refreshCalendar(Request $request) 
    { 
     //Set data to $request 
     $data = $request->all(); 
     return show($data['month'], $data['year'], true); 
    } 

} 
+0

失败请求的响应正文是什么?使用您的浏览器网络检查员来阅读错误。 –

+0

你在谈论console.log中的内容吗? 它警告我“检索信息时出现错误”,但console.log显示“POST http://example.com/refreshCalendar 500(内部服务器错误)” – Dom

+0

使用浏览器的调试器查看真正发送的内容服务器。它可能包含线索。尝试关闭此路线的CSRF检查,看看会发生什么。 – Jeffrey

<meta name="token" content="{{ csrf_token() }}"> 
_token:$('meta[name="csrf-token"]').attr('content') 

您的元标记名称为token,但你正在寻找一个名为csrf-token元标记。