javascript - ejs 不会呈现 Html 页面
问题描述
我使用 Express 和 EJS 将来自数据库查询的响应呈现为一个简单的 Html 页面。在开发工具中显示错误
“从源 'http://localhost:3000' 访问 'https://o189131.ingest.sentry.io/api/5478725/envelope/?sentry_key=504fcb6b9eee411d8157d41c0adb1170&sentry_version=7' 已被 CORS 策略阻止:否请求的资源上存在“Access-Control-Allow-Origin”标头。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。”
而且它不呈现 Html 页面,我想使用保持 ejs 文件的扩展名,如 home.html 而不是在 Visual Studio 中使用 home.ejs.html 但我不能,为什么?
const express = require('express')
const app = express()
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
res.render('home')
})
app.listen(3000, () => {
console.log("LISTENING ON PORT 3000")
})
解决方案
看起来像 CORS 错误,当您的请求被浏览器的同源策略阻止时会发生这种错误。尝试将 'Access-Control-Allow-Origin: "*"' 添加到您的请求标头以绕过它:
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
你可以在这里阅读更多。
推荐阅读
- r - 在 R 中指定为字符串的源文件
- shell - 增加关于文件中模式的值
- c# - 模板中的 MVVM 绑定问题(特别是 Expander 控件的 HeaderTemplate)
- javascript - 使用node.js中的删除请求从数据库中动态删除数据
- ios - 如何将自定义标题视图设置为导航栏的中心
- excel - 返回表列中的最后一个值
- ansible - 如何绕过失败的ansible任务,但仍将它们报告为失败?
- c# - 在 UWP 应用中使用 Flyout 时更改覆盖区域的颜色
- javascript - 价格比较器的跟踪代码管理器销售跟踪
- gruntjs - 为不可多任务的 grunt 插件创建两个配置