使用 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 以获取实施参考。
我在 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 以获取实施参考。