使用 express 配置 amp cors

Configuring amp cors with express

我在 Firebase Functions 上有一个快捷应用程序 运行,在 Firebase Hosting 上有一个静态网站。这个静态网站是一个 AMP 网站,其表单为 Express 应用程序制作了 post。当我提交它时,我收到这些错误:

Response must contain the AMP-Access-Control-Allow-Source-Origin header

Form submission failed: Error: Response must contain the AMP-Access-Control-Allow-Source-Origin header​​​

在我的快递应用中:

const app = express();

app.use(function (req, res, next) {
  let origin = req.header('origin').toLowerCase()
  res.set('Access-Control-Allow-Origin', origin);
  res.set('Access-Control-Allow-Headers', 'Origin, X-Requested-With, 
           Content-Type, Accept');
  res.set('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, HEAD, PUT');
  res.set('Access-Control-Allow-Credentials', 'true');
  res.set("AMP-Access-Control-Allow-Source-Origin", origin);
  next();
});
Aside from res.set("AMP-Access-Control-Allow-Source-Origin", origin);

也尝试包括这个 header

header("Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin");

CORS in AMP 指南所述。

您也可以查看此 SO post 以获取实施参考。