У меня возникли проблемы с Laravel и Ajax, из-за которых я не смог выйти из Google или Stackoverflow.Какие бы решения я ни видел, я уже учел.
Спорадически я получаю ошибку 500 (иногда 401).Это происходит только с Ajax, что указывает на то, что я неправильно отправляю токен CSRF.
Но CSRF загружается при каждой загрузке страницы, и проблема начиналась 4 дня назад, тогда как проект длится около месяца.старый.Это случается, может быть, 1 из 10 вызовов Ajax.Остальные 9 будут работать нормально.
Ajax-вызов происходит сразу после загрузки страницы.Возможно ли, что Laravel каким-то образом не обновил свои ожидания относительно входящего вызова Ajax?Никакие другие Ajax-вызовы не вызывают эту проблему.
В laravel.log написано:
production.ERROR: No application encryption key has been specified. {"exception":"[object] (RuntimeException(code: 0): No application encryption key has been specified. at C:\\....\\vendor\\laravel\\framework\\src\\Illuminate\\Encryption\\EncryptionServiceProvider.php:42)
[stacktrace]
Это очень странно для меня по двум причинам.Прежде всего, существует шифрование.Как уже упоминалось, проект существует в течение длительного времени, и проблема носит спорадический характер.Во-вторых, там написано «production.ERROR», но среда локальная.У меня есть это в файле .env:
APP_ENV=local
Есть ли у кого-нибудь какие-либо идеи о том, как решить или как дальше отладить проблему?Здесь я немного не знаю.
ОБНОВЛЕНИЕ: Эта проблема определенно связана с вызовами AJAX, которые вызываются сразу при загрузке страницы.У меня точно такая же проблема возникла в другом проекте, все остальные вызовы AJAX в проекте работают так, как они должны;Но тот, который вызывается сразу при загрузке страницы, не работает с 401 и 500 время от времени.