Tag: angularjs

Angular / Node CORS问题

我正在服务器端build立一个节点js的Web应用程序,并在客户端build立angular度。 我正在运行不同的域上的服务器和其他域上的客户端。 我的服务器端代码: var express = require('express'); var app = express(); var http = require("http").createServer(app); var request = require('request'); app.use(function(req, res, next) { console.log(req.headers); res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization"); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE'); next(); }); app.get('/api/hello', function(req, res){ var data = {'message': 'Server is running'} res.jsonp(data); }); http.listen(5000); 和在客户端(Angular)。 angular.controller('myController', function($state, $http){ $http.get('http://localhost:5000/api/hello').success(function(response, status) […]

离子通知/推送消息

我需要发送一个包含类别和消息的所有用户谁已经安装我的应用程序的JSON,如下所示: {category:"shoes", message:"New pair of shoes available"} 那么我只需要显示一个警告/通知给用户,这些用户检查了与JSON类别相匹配的特定选项 。 我正在使用Ionic,NodeJS和Express。 我怎么能这样做?

在使用Angular时隐藏一个API密钥(在一个环境variables中可能?)

我正在运行一个带有Node / Express后端的小型Angular应用程序。 在我的一个Angular工厂(即在客户端),我向Github发出一个$ http请求来返回用户信息。 然而,一个Github生成的密钥(这意味着保密)需要这样做。 我知道我不能在客户端使用process.env.XYZ。 我想知道如何保持这个关键密钥? 我必须在后端提出请求吗? 如果是这样,我如何将返回的Github数据传输到前端? 对不起,如果这似乎是简单的,但我是一个相对的新手,所以任何明确的答复代码示例将不胜感激。 谢谢

MongoDB _id长度为25

我正尝试使用nodeJS从MongoDB中删除一个文档。 我的代码stream程如下:1.用户可以删除特定的学生。 因此,我把所有的学生文件从数据库中提取出来,存储在学生对象中。 3.用户可以使用提供的文本框过滤search,并可以select一个特定的学生,并可以删除。 请find下面的UI: HTML页面如下: <h2 align="center">Delete Student</h2> <div ng-controller="deleteStudentController"> <form ng-submit="deleteStudent()"> Student Name:<input type="text" letters-only ng-model="searchName"/><br> <div ng-repeat="student in students | filter:searchName" ng-show="searchName.length"> <input type="radio" ng-model="$parent.studentRadio" name="studentRadio" value="{{student._id}}"/>{{student | formatter}} </div> <input type="submit" value="Delete Student"/> {{output}} </form> </div> 与UI相关的angularJS控制器如下所示: mainApp.controller("deleteStudentController", function($scope,$http) { var resData = {}; $scope.student = {}; var urlGet = "/students/all"; […]

Socket.io – 广播给不同权限级别的用户的策略

使用socket.io将事件和数据广播给其他监听器是很简单的,每个人都可以看到数据。 但是,当每个用户只能看到属于他们的数据时,有没有一些策略可以使用? 例如,我们有一个订单系统。 在仪表板上,一些用户可以根据访问级别查看所有订单。 所以如果一个订单被一个用户更新,我可以把这个事件广播给所有其他的用户,而不必为仪表盘上的每个窗口检索新的数据。 所以也许一个例子就像客户端的socket.send('ordersUpdated', data) ,我认为节点服务器可以捕获它,并将数据发送到其他套接字侦听ordersUpdated事件。 但是用户只能看到他们自己的订单的情况呢? 我不能向他们广播相同的数据,因为这个级别的每个用户只能看到他们自己的数据。 如果他们的一个订单是由一个可以看到所有订单的用户修改的呢? 他们的仪表板也需要更新,但他们不能接收同样的广播数据。 有什么特别的方法可以解决这个问题吗? 一个想法,虽然我认为不是一个好主意,但只是发送一个事件,说一些更新的事情,这将导致他们从服务器重新获取数据。 为了提供更多的细节,我也使用Angular和Laravel。

传递/路由包含函数原型的对象

我一直在与NodeJS,ExpressJS和AngularJS做一些工作。 我目前正在开发一个graphics绘制项目,需要在后端完成所有的处理,所以前端只显示结果。 这需要我将包含数据和函数原型的一些对象路由到前端。 到目前为止,我还没有碰到这最后一部分。 当我从前端调用$http.get ,并且我的路由以res.send(object)响应时,在节点后端的console.log ,对象被打印完成,其原型函数完成,但是在我的浏览器中检索到的对象只打印数据/文本部分,完全抛弃所有的function。 请参阅下面的代码片段以获得要点: sample backend ExpressJS routes code snippet // let's create an object, function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; // a function prototype this.fooBar = function(){ return 'Yes'; } }; // open up a route app.get('/getObject', function(req, res){ var baby = new Person("John", […]

使用节点js和angular度js和mysql数据库

我在连接到mysql数据库的本地主机上有nodejs文件。 我的sql数据库有蛋糕表,其中包含名称和价格。我想连接angularjs到节点js,以便我可以从蛋糕表中检索名称和价格。

可以在Node js上运行laravel 5.2应用程序

我正在使用laravel 5.2作为后端开发的Web应用程序,而在前端使用angular 2,但是我有一个Question- 我可以在nodejs而不是Xampp上运行Laravel 5应用程序吗? 这可能吗 ?? 我读了这个,但我不明白,他的问题是否是我的或不是https://laracasts.com/discuss/channels/requests/nodejs-with-laravel 如果可能的话,任何机构可以给我任何链接教程做这个事情? 谢谢

套接字io:如何传递参数来解除套接字事件?

我正在使用套接字io来构build聊天应用程序。 当“用户x”从聊天中断我想打印到控制台日志:“再见用户x”。 为了发生这种情况,我需要将user_name作为parameter passing给disconnect事件。 问题是我不知道如何将数据传递给断开连接事件: socket.on('disconnect', function(){…}) 当用户断开连接时被自动调用。 我需要有类似的东西 socket.on('disconnect', function(user_name){ console.log('bye '+user_name); }) 但如果这是可能的(是吗?)那么我怎么能通过这个参数在客户端(我的情况,angular)? 我的完整套接字io server.js代码如下。 io.on('connection', function(socket){ io.emit('chat_message', "welcome"); socket.on('room', function(room) { socket.join(room); }); socket.on('chat_message', function(data){ socket.broadcast.to(data.room).emit('chat_message',data.msg); }); socket.on('info_message', function(data){ socket.broadcast.to(data.room).emit('info_message',data.msg); }); socket.on('disconnect', function(){ console.log('bye '+socket.id); io.emit('chat message', "Bye"); }); });

在后端或前端列出一个集合

我对NodeJS很新,我需要一些build议。 我有一个显示用户列表的页面,我使用Mongoose从集合中检索这个列表。 我知道显示这个列表的两种方法: 1)在加载页面之前在后端进行查询,然后将结果发送到视图: // app.js var users = Users.find({}, function(err, results){ res.render('list', { users: results}); }); 2)在页面加载之后,以asynchronous方式在前端进行查询。 例如,使用Angular // users.js var User = $resource('/getUsers'); User.query(function (results){ $scope.users = results; }); // users.html <ul> <li ng-repeat="user in users"{{ user.name }}></li> </ul> // app.js app.get('getUsers', function(req, res){ Users.find({}, function(req, results){ res.json(results); }) }); 我希望一切都清楚。 在最佳实践和/或性能方面,最好的做法是什么? 谢谢