gpt4 book ai didi

javascript - 如何从后端获取 Angular 数据并使用 Node.js 向前端发送数据?

转载 作者:行者123 更新时间:2023-12-03 10:19:22 26 4
gpt4 key购买 nike

我正在更改我的 Node.js 应用程序,我之前使用 EJS 模板引擎,现在我想使用 Angular。

为此,我已经安装了 Angular 并且运行良好,但现在我想获取我的数据,为此我正在使用 $http 服务:

(function($) {
app.controller('EventCtrl', ['$scope', '$http', function($scope, $http){
$scope.data;

$http.get('/data').
success(function(data, status, headers, config) {
$scope.data = data;

}).
error(function(data, status, headers, config) {
$scope.data = data;

});

}]);

}(jQuery));

我正在后端发送数据:

  restAPI.GET(options).then(function (result) {
res.render('data/index.html', {
event: result,
});
}).then(undefined, function (error) {
console.log(error);
});

但它从我使用 Controller 的同一页面返回 HTML。我在这里做错了什么??

返回的内容:

<!DOCTYPE html> <html ng-app="app"> <head> <title> Testando Angular </title> </head> <body> <div ng-controller="EventCtrl"> {{data}} </div> </body> <script type="text/javascript" src="/lib/jquery/dist/jquery.min.js"></script> <script type="text/javascript" src="/lib/angular/angular.min.js"></script> <script type="text/javascript" src="/app.js"></script> <script type="text/javascript" src="/controllers/EventCtrl.js"></script> </html>

最佳答案

您需要让 Node 提供 Angular 所在的页面。(这只是使用 Express 的示例)像这样的事情:

app.get('/', function(req, res) {
res.sendFile('../public/index.html');
res.end();
});

然后你需要为 Angular 设置查询路由,以便它可以获取数据:

app.get('/api/data', function (req, res) {
//Get some data here however you do that
res.json(data) //Send your data back to angular in the callback of your database query ( or whatever you are doing )
}

您使用res.render()发送页面。您不想发送寻呼。如果您使用上面所示的 $http.get 请求,您只想发送数据。获取您的数据并使用 res.json(data)

发送

如果您需要深入了解所有部分如何组合在一起,我建议您完成以下教程: Setting Up a MEAN Stack SPA

关于javascript - 如何从后端获取 Angular 数据并使用 Node.js 向前端发送数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29717089/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com