![](/img/trans.png)
[英]Error 405 in ajax post with javascript to laravel method
[英]Error 405 Method Not Alowed Exception when post with AJAX with Laravel
我只想使用JS中的onclick事件將兩個變量發送到我的控制器,我正在使用laravel框架和JQuery Ajax。
我的onclick通話是:
onclick="addArt(<?php echo Session::get("ID") ?>, <?php echo $article->idArticle ?>)"
那是我的JS工作表中的一個函數:
function addArt(idUser, idArt){
$.post( "addArt", { IDUser: idUser, IDArt: idArt})
.done(function( data ) {
location.reload();
})
.fail(function(e) {
console.log(e);
});
}
所以我的路線是“ addArt”,和往常一樣,我有路線:
Route::post('addArt',"CarsController@addArt");
在我的控制器中,我只需將文章插入一個簡單的laravel即可添加到購物車中,但出現錯誤405(方法未啟用)。
誰能幫我這個忙嗎?
之所以收到該錯誤,是因為您沒有將csrf令牌傳遞給post對象。
這將起作用:
onclick="addArt(<?php echo Session::get("ID") ?>, <?php echo $article->idArticle ?>, <?php echo csrf_token(); ?>)"
在您的函數上,您需要傳遞_token值
function addArt(idUser, idArt, token){
$.post( "addArt", { IDUser: idUser, IDArt: idArt, _token: token})
.done(function( data ) {
location.reload();
})
.fail(function(e) {
console.log(e);
});
}
如果您使用的是Laravel的刀片模板,則可以進行一些更改並使它仍然可以工作:
onclick="addArt('{{Session::get("ID")}}', '{{$article->idArticle}}')"
// " " does work inside the {{ }} tags if using Blade.
如果現在檢查元素,則它應如下所示:
onclick="addArt('session', 'article')"
希望有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.