【发布时间】:2023-03-30 15:45:01
【问题描述】:
我正在调试一个 Drupal 问题,它被用作无头 api 服务器。
当有人在 JavaScript 应用程序中提交表单时,我必须向 Drupal 的联系表单 REST Endpoint 发出 POST 请求。
当我从 REST 客户端对其进行测试时,API 可以工作。
但是当我在浏览器中从 JavaScript 运行相同的代码时,我遇到了一个 cors 问题。
我已确保在 sites/default/default.services.yml 文件中启用了 cors。
但是更改没有生效。
以下是sites/default/default.services.yml文件的相关内容
cors.config:
enabled: true
# Specify allowed headers, like 'x-allowed-header'.
allowedHeaders: ['*']
# Specify allowed request methods, specify ['*'] to allow all possible ones.
allowedMethods: ['*']
# Configure requests allowed from specific origins.
allowedOrigins: ['*']
# Sets the Access-Control-Expose-Headers header.
exposedHeaders: true
# Sets the Access-Control-Max-Age header.
maxAge: false
# Sets the Access-Control-Allow-Credentials header.
supportsCredentials: false
我在浏览器中收到以下错误。
Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.
我尝试将sites/default/default.services.yml 更改为以下内容,但我仍然遇到同样的问题。
allowedHeaders: ['x-csrf-token', 'authorization', 'content-type', 'accept', 'origin', 'x-requested-with']
【问题讨论】:
标签: javascript rest drupal cors drupal-8