【问题标题】:How to use Ajax with express.render()?如何将 Ajax 与 express.render() 一起使用?
【发布时间】:2018-07-05 22:25:48
【问题描述】:

我没听懂……

我通常会渲染我的 users.html 页面

// in index.html

<a href="/users">Users Page</a>


// server side using express

router.get('/users', function (req, res) { res.render('users'); });

但是如果我使用 Axios 发出请求

<a onclick="axios.get(`users`)">Users Page</a>

Express 正确获取请求,但浏览器从不加载 users.html 页面

我这样做的原因是我想在加载我的应用程序的新页面之前检查授权标头。而我的 Axios 默认已经有了这些信息。

【问题讨论】:

  • 您需要了解 axios.get(users) 发出 AJAX 请求。这与单击a href 时发生的重新加载页面不同。
  • 好的@dfsq!那么,如何在没有 ajax 的情况下发送身份验证信息?在渲染新页面之前向服务器检查用户的身份验证

标签: javascript node.js express axios


【解决方案1】:

确实有效! 如果你有这样的事情:

<a onclick="axios.get('users').then(res => document.getElementById('somediv').innerHTML = res.data">Users Page</a>

'somediv' 将加载 express 呈现的所有 HTML。

因此您可以使用它来加载实际页面的某些部分。

可以使用document.write(res.data);,但这不会改变document.location,也不会加载新页面的脚本。

【讨论】:

    猜你喜欢
    • 2016-03-08
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 2023-03-18
    • 2015-03-14
    • 2016-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多