我正在尝试在Laravel 5中创建一个AJAX调用。但我正在设置 TokenMismatchException ,但不知道为什么。
我的AJAX代码是 -
$(document).ready(function()
{
$("#send").click(function()
{
$.ajax({
headers: { 'csrftoken' : '{{ csrf_token() }}' },
type: 'POST',
url: 'add_question',
data: {
'webinar_id' : 1,
'email_id' : "any@email.com",
'question' : $('#question_to_ask').val(),
'answer' : "",
'panelist_id' : 1,
'public' : 1
},
success: function(data)
{
$("ul#question_list").prepend(data);
$("ul#question_list li:first").fadeIn("slow");
}
});
});
});
我的Laravel 5控制器是 -
public function add_question()
{
return "OK";
//return Request::input('question');
}
但是在要求的时候得到这样的东西 -
我做错了什么?
答案 0 :(得分:2)
标题的名称应为function addMenu(title) {
chrome.contextMenus.create({
title: title,
contexts: ["all"],
onclick: function() { console.log(1)}
});
}
addMenu('Log out');
,而不是X-CSRF-TOKEN
。
csrftoken
答案 1 :(得分:1)
试试这个:
$(document).ready(function()
{
$("#send").click(function()
{
$.ajax({
headers: { 'csrftoken' : '{{ csrf_token() }}' },
type: 'POST',
url: 'add_question',
data: {
'webinar_id' : 1,
'email_id' : "any@email.com",
'question' : $('#question_to_ask').val(),
'answer' : "",
'panelist_id' : 1,
'public' : 1,
'_token' : '{{csrf_token()}}'
},
success: function(data)
{
$("ul#question_list").prepend(data);
$("ul#question_list li:first").fadeIn("slow");
}
});
});
});
答案 2 :(得分:0)
使用它:
var ajaxCall=$.post("{{ url('add_question')}}",
{
webinar_id : 1,
email_id : "any@email.com",
question : $('#question_to_ask').val(),
answer : "",
panelist_id : 1,
public : 1,
_token : '{!! csrf_token()!!}'
});
ajaxCall.done(function(data){
.....
});
ajaxCall.fail(function(){
....
});