【发布时间】:2017-04-09 07:02:58
【问题描述】:
我需要将数据从 jquery(版本 1.9.1)传递到我的控制器(Laravel 5.1),然后将其保存到 mysql。
如何做到这一点并传递变量槽?到目前为止它没有工作。更多详情,请咨询我。
jquery:
$(".tic").click(function(){
var slot = $(this).attr('id');
playerTurn(turn, slot);
$.ajax({
url: '/addhistory',
type: 'POST',
data: { _token: {{ csrf_token() }}, moves: slot },
success: function()
{
alert("Data has been saved successfully!");
}
});
});
控制器:
public function addhistory(Request $request)
{
$history = new History();
$history->game_id = Game::orderBy('id', 'desc')->first()->id;
$history->moves = $request->moves;
$history->save();
return redirect()->back();
}
路线:
Route::post('/addhistory', 'GameController@addhistory');
控制台错误:
(index):198 Uncaught ReferenceError: HAmcYRScL9puItnUGbd2kHx.... is not defined
at HTMLAnchorElement.<anonymous> ((index):198)
at HTMLAnchorElement.dispatch (191.js:3)
at HTMLAnchorElement.v.handle (191.js:3)
191.js文件是jquery 1.9.1的版本
【问题讨论】:
-
你试过在
{{ csrf_token() }}周围加上单引号吗? -
试试
_token: '{{ csrf_token() }}'。因为 CSRF 可能包含一些算术运算符,JavaScript 会尝试对其求值。 -
localhost:8000/addhistory 500(内部服务器错误)我收到此错误
-
你能向堆栈跟踪显示一个 get exact 错误吗?
-
您的脚本在客户端运行良好。请检查服务器端的错误。你可以在
storage/log/laravel.log看到它
标签: php jquery mysql ajax laravel