我正在开发一个 Web 应用程序,客户端使用 Riot.js,服务器端使用 Node.js Express。 Riot.js 可以挂载 JSON 数据并可用于渲染 HTML。实际上我在服务器端有一些 JSON 数据,并且想将它们与 Riot.js 一起使用。
目前我的 Express 服务器的代码非常简单。
var express = require('express'),
serveIndex = require('serve-index'),
app = express();
app.use(express.static(__dirname + '/public'));
app.use(serveIndex(__dirname + '/public'));
app.listen(3000);
我认为 HTML 模板对我的问题有帮助。但我找不到 Riot.js 的答案,如何使用和渲染服务器中的数据?
如果数据位于客户端,我知道如何装载数据,如下所示:
<script>
riot.mount('my_hoge', {
data: [
{ name: 'A', url: 'xxxx'},
{ name: 'B', url: 'yyy', isActive: true},
{ name: 'C', url: 'zzzz'}
] })
</script>
环境
- Node.js v5.3.0
- express v4.13.3
最佳答案
您可以使用 AJAX 将 JSON 数据加载到 Riot.js 元素中,如下所示:
var url = "http://yourserver:3000/";
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var data = JSON.parse(xmlhttp.responseText);
riot.mount('my_hoge', { data: data });
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
关于javascript - 如何从 Node.js Express 服务器将 JSON 数据返回到 Riot.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34480297/