ajax - Auth::check() 在 ajax 调用中失败(有时)

标签 ajax laravel laravel-4

我有一个 登录 访问我的 JavaScript 应用程序的用户。

在初始化期间,应用程序会发送几个 Ajax 调用来收集一些信息。

有时,我会说大约十分之一,其中一个调用在我的路由过滤器中中止。

我对它的观察:

  • 不是每次都发生
  • 不总是相同的路线(电话)
  • 可能同时出现多个失败
  • 一个简单的页面刷新重新触发调用,以及
    因为不是经常性的失败,所以一切都会恢复正常......
    直到下一个故障。

  • 这是有问题的过滤器:
    我知道是这个,因为我更换了 403418并将“禁止”故障转化为“茶壶”故障。
    Route::filter('auth-api', function() {
       if (!Auth::check()) { App::abort(403, "Auth-api filter denied"); } 
    });
    

    这是运行中的奇怪错误:
    所有 /api/[whatever]通过相同的过滤器,在这种情况下,/api/assurances当其他人顺利时死了。

    enter image description here

    最佳答案

    听起来您的 session 由于某种原因失败了。这可能是由于 file session 驱动程序,当连续多次访问时可能会导致竞争条件。

    最好的选择是更改 session 驱动程序并测试另一个 session 驱动程序是否仍然存在问题。我建议尝试使用 Redis 或 Memcache - 因为它们旨在快速、快速和可靠。

    关于ajax - Auth::check() 在 ajax 调用中失败(有时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28509314/

    相关文章:

    php - jQuery - 无访问控制允许来源

    javascript - XHR 进度事件在上传完成之前不会触发?

    php - "xmlResult.Result is undefined"错误

    php - 在 Laravel 中使用助手的最佳实践是什么

    php - Form::file:如何在验证错误后和/或更新时使用 Input::old 重新填充?

    php - Laravel Eloquent JOIN ON 多个条件

    javascript - Ajax post 请求将发送的数据附加到返回的 JSON

    mysql - 图像未上传到 Laravel 中的 MySQL 数据库

    php - Laravel getCountForPagination() 返回 Object 而不是 int

    mysql - 在 Laravel 的 Form::model 中使用复选框