如何将数据 node.js 发送到 ejs 文件,并使用 angular.js 获取数据
How send data node.js to ejs file, and get data with angular.js
我对此有疑问。
我不明白使用 node.js 将数据发送到 ejs 文件并使用 Angular.js
获取这些数据的方法
Node.js部分
app.get('/', function(req, res) {
connection.query('SELECT * FROM movie', function(err, rows, fields) {
res.render('pages/index', {
results: JSON.stringify(rows)
});
})
});
Angular部分
$http.get('/').then(function(data) {
$scope.movies = data;
console.log(data);
});
index.ejs部分
<main ng-controller="mainController">
{{ movies }}
</main>
NodeJS 在服务器端执行,ejs
模板在服务器端呈现。
Angular在页面加载后在客户端(浏览器端)执行。
您目前正在做的是:
- 在浏览器中访问url
/
- 激活 NodeJS 中的 '/' 路由
- 呈现模板
index.ejs
- 从模板生成的这个 html 页面被发送回您的浏览器并显示
- 您的浏览器在此 html 页面中找到一个 javascript 部分,它在 '/'
上运行异步请求
- 这个请求再次返回到 NodeJs,重新渲染 ejs 模板,并给你一个 html 页面作为响应。这就是您在控制台中看到的内容。
你需要:
- 要么有一个静态页面 javascript 在 NodeJS 路由上请求,它只回答 json。此 JSON 将用于 javascript 向页面添加内容。
- 或者在 ejs 模板引擎的帮助下在服务器端生成包含所有所需信息的完整页面。 (然后您不需要 Javascript 中的异步请求来获取内容)
我对此有疑问。
我不明白使用 node.js 将数据发送到 ejs 文件并使用 Angular.js
获取这些数据的方法Node.js部分
app.get('/', function(req, res) {
connection.query('SELECT * FROM movie', function(err, rows, fields) {
res.render('pages/index', {
results: JSON.stringify(rows)
});
})
});
Angular部分
$http.get('/').then(function(data) {
$scope.movies = data;
console.log(data);
});
index.ejs部分
<main ng-controller="mainController">
{{ movies }}
</main>
NodeJS 在服务器端执行,ejs
模板在服务器端呈现。
Angular在页面加载后在客户端(浏览器端)执行。
您目前正在做的是:
- 在浏览器中访问url
/
- 激活 NodeJS 中的 '/' 路由
- 呈现模板
index.ejs
- 从模板生成的这个 html 页面被发送回您的浏览器并显示
- 您的浏览器在此 html 页面中找到一个 javascript 部分,它在 '/' 上运行异步请求
- 这个请求再次返回到 NodeJs,重新渲染 ejs 模板,并给你一个 html 页面作为响应。这就是您在控制台中看到的内容。
你需要:
- 要么有一个静态页面 javascript 在 NodeJS 路由上请求,它只回答 json。此 JSON 将用于 javascript 向页面添加内容。
- 或者在 ejs 模板引擎的帮助下在服务器端生成包含所有所需信息的完整页面。 (然后您不需要 Javascript 中的异步请求来获取内容)