Php 如果用户未登录,AJAX请求无响应-Laravel
我有一个在Laravel5.5上运行的web应用程序,我需要专门使用ajax创建一个购物车(我有理由) 用户登录后,所有操作都会顺利运行。当用户未登录时,我得到一个空响应 路线:Php 如果用户未登录,AJAX请求无响应-Laravel,php,jquery,ajax,laravel,laravel-5,Php,Jquery,Ajax,Laravel,Laravel 5,我有一个在Laravel5.5上运行的web应用程序,我需要专门使用ajax创建一个购物车(我有理由) 用户登录后,所有操作都会顺利运行。当用户未登录时,我得到一个空响应 路线: Route::post('/shop/add2', 'ShopController@addToCart')->name('add2cart'); ShopController看起来像: <?php class ShopController extends Controller {
Route::post('/shop/add2', 'ShopController@addToCart')->name('add2cart');
ShopController看起来像:
<?php
class ShopController extends Controller
{
public static function addToCart(){
$message = "Some message";
return response()->json(["message"=>$message]);
}
}
?>
我尽我所能得到了419状态码。我知道,对吧 如果您不介意每个人都可以访问此函数,您可以在控制器的构造函数中为中间件添加一个异常:
public function __construct()
{
$this->middleware('auth', ['except' => ['addToCart']]);
}
嗯,我有一个强大的天神,代码是419。。。而且不是一个好的。 我不得不调试了半天,因为facebook的webhook的一条路线上丢失了一个Csrf令牌。也许你的情况也是如此
class VerifyCsrfToken extends Middleware
{
const FACEBOOK_ROUTE = 'facebook_hook';
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
self::FACEBOOK_ROUTE,
self::FACEBOOK_ROUTE . '/*',
'upload',
'upload/*',
];
我的上传也是如此,这也是由第三方ajax插件完成的
干杯谢谢你的片段。由于某种原因,这对我不起作用,我进行了更多的挖掘,尽管这需要我编辑App\Http\MIdleware\VerifyCsrToken.php文件grrrrr,这也是我发现的。我在下面的评论中作出了回答。
class VerifyCsrfToken extends Middleware
{
const FACEBOOK_ROUTE = 'facebook_hook';
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
self::FACEBOOK_ROUTE,
self::FACEBOOK_ROUTE . '/*',
'upload',
'upload/*',
];