有没有办法在 EJS 中使用本机浏览器功能获取?
Is there a way to use the native browser function fetch in EJS?
我正在创建一个包含本机浏览器 JS 函数的 EJS scriptlet 标记 fetch
来发出我的 HTTP 请求。然后我收到一个参考错误,说 fetch
没有定义。
有没有办法在 EJS 中使用该功能?还是EJS只支持Node?
如果不查看您实际尝试的代码,很难确切地知道您在 EJS 模板中尝试使用 fetch()
做什么。您可以执行以下操作:
您可以将 <script>
标记插入到您的 EJS 模板中,并将 Javascript 放入将在浏览器中执行的该标记中。该脚本可以在浏览器中包含对 fetch()
的调用。
您可以使用等同于 fetch()
的 nodejs,例如 node-fetch 并使用它来检索内容,然后将其插入到呈现的 EJS 模板中。这种类型的 fetch()
调用将是 server-side 代码(nodejs 中的 运行)来检索数据(不在您的实际模板中)。然后可以将该数据作为参数发送到调用以呈现您的 EJS 页面,以便 EJS 可以将数据呈现到网页中。
您可以使用 EJS 在浏览器中进行 client-side 渲染,并且可以在进行 client-side 渲染之前使用浏览器的 fetch()
检索数据。
我正在创建一个包含本机浏览器 JS 函数的 EJS scriptlet 标记 fetch
来发出我的 HTTP 请求。然后我收到一个参考错误,说 fetch
没有定义。
有没有办法在 EJS 中使用该功能?还是EJS只支持Node?
如果不查看您实际尝试的代码,很难确切地知道您在 EJS 模板中尝试使用 fetch()
做什么。您可以执行以下操作:
您可以将
<script>
标记插入到您的 EJS 模板中,并将 Javascript 放入将在浏览器中执行的该标记中。该脚本可以在浏览器中包含对fetch()
的调用。您可以使用等同于
fetch()
的 nodejs,例如 node-fetch 并使用它来检索内容,然后将其插入到呈现的 EJS 模板中。这种类型的fetch()
调用将是 server-side 代码(nodejs 中的 运行)来检索数据(不在您的实际模板中)。然后可以将该数据作为参数发送到调用以呈现您的 EJS 页面,以便 EJS 可以将数据呈现到网页中。您可以使用 EJS 在浏览器中进行 client-side 渲染,并且可以在进行 client-side 渲染之前使用浏览器的
fetch()
检索数据。