laravel - Swagger UI requestInterceptor 抛出“Cannot set property 'X-CSRF-TOKEN' of undefined”错误
问题描述
我正在使用 Laravel 5.7 和 Swagger 创建 API 文档。
作曲家要求:
"require": {
"php": ">=5.6.4",
"darkaonline/l5-swagger": "^5.7.3",
"filp/whoops": "~2.0",
"laravel/framework": "5.7.*",
"laravel/passport": "~4.0",
"laravel/tinker": "~1.0",
"mll-lab/laravel-graphql-playground": "^2.1",
"nuwave/lighthouse": "^4.15",
"paragonie/random_compat": "~2.0",
"zircote/swagger-php": "3.*"
},
一切正常,但是当我尝试在 Swagger UI 中执行请求时,出现错误:
actions.js:453
TypeError: Cannot set property 'X-CSRF-TOKEN' of undefined
这是引发错误的代码:
requestInterceptor: function() {
this.headers['X-CSRF-TOKEN'] = 'hM4lUy0ednXXWEFwYc1iRprnSuBuPwQH6Z4pi6v8';
return this;
},
为什么会发生错误?
解决方案
您的requestInterceptor
函数缺少参数。
该requestInterceptor
函数必须有一个参数,例如req
. 此参数提供对请求数据的访问。该函数必须返回修改后的请求。
requestInterceptor: function(req) {
req.headers['X-CSRF-TOKEN'] = 'hM4lUy0ednXXWEFwYc1iRprnSuBuPwQH6Z4pi6v8';
return req;
},
推荐阅读
- python - 单击按钮时向 Matplotlib 动画添加箭头
- c# - 使用 Ninject 和 MVVM 进行多重绑定和上下文绑定
- ruby-on-rails - 如何使用带 aws-rails-provisioner gem 的延迟作业或 sidekiq 为 Ruby on Rails 应用程序创建工作实例?
- mysql - K3s 节点不断失败,我不确定是什么原因造成的
- video - HTML5 视频颜色不准确
- javascript - 如何将我的收集器数据添加到变量中并在文件外部使用它?
- python - 芹菜速率限制在与 rabbitmq 结合使用的装饰器中无法按预期工作
- javascript - 我在 Laravel 中应该把 CSS 放在哪里?
- javascript - 双引号和单引号的占位符
- javascript - 您如何选择所有已检查的项目并将所有已检查项目的价格相加以获得总数?