如何在express.render()中使用Ajax?

时间:2018-01-26 14:50:29

标签: javascript node.js express axios

我没有那个......

通常要渲染我的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默认设置已经有了这些信息。

1 个答案:

答案 0 :(得分:0)

实际上它有效! 如果您有这样的事情:

<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也不会加载新页面的脚本。