Tag: angularjs

Node.js + AngularJS + Socket.io:推送的数据在控制器中不可用

我已经设置了我的节点服务器以随机间隔推出一些数据,并且数据正在到达客户端/浏览器; 然而,我不知道如何在我的应用程序的控制器访问它。 #node.js file: /server.js (truncated for brevity) var http = require('http').createServer(handler),//refers to handler() fs = require('fs'), io = require('socket.io').listen(http); http.listen(8000); … io.sockets.on('connection', function (socket) { /* DUMMY CODE: this generates fake alerts at random intervals */ (function loop() { var rand = Math…; … setTimeout(function(){ … var alert = { … }; socket.emit('alert', { […]

heroku错误:ENOENT,stat'/app/build/index.html'

我试图部署到Heroku,但我得到Error: ENOENT, stat '/app/build/index.html'当我去我的地址。 否则,应用程序部署不会给我任何错误。 有人可以解释我做错了什么。 这是我的代码和代码结构。 server.js var express = require('express'), server = express(), bodyParser = require('body-parser'), logger = require('morgan'), methodOverride = require('method-override'); // for heroku var port = process.env.PORT || 5000; server.use(express.static(__dirname + '/build')); server.use('/src', express.static(__dirname + '/build/src')); // js server.use('/assets', express.static(__dirname + '/build/assets')); // css, images server.use('/vendor', express.static(__dirname + '/build/vendor')); // other […]

如何使控制器等待服务返回一个值,以及如何访问控制器中返回的值?

我是angularjs的新手 。 我在访问从其控制器中的angularjs服务返回的值时遇到问题。 以下是控制器中的代码: 'use strict'; app.controller('AdminTaskCtrl', function ($scope, Search) { $scope.buildEnquiry = function (collegeId, ) { Search.getIdByEmail(collegeId).then ( function ( result ) { $scope.uId = result; console.log($scope.uId); }); }; });//controller ends here search服务中的代码如下所示: 'use strict'; app.factory('Search',function ($firebase, FIREBASE_URL, $rootScope) { var simpleuser = ""; getIdByEmail: function(counsellorEmail) { var collegeuserArray = ($firebase(new Firebase(FIREBASE_URL+"abc/def/")).$asArray()); collegeuserArray.$loaded(function(collegeuserArray) { […]

如何读取angular度的nodejsstream?

在nodejs中,我向这样的客户端发送一个stream: DockerService.get().pull('my/image', function(err, stream) { if (err) { return res.badRequest(err); } else { return stream.pipe(res); } }); 这是从一个使用$ http.get的angularjs客户端触发的: pull: function() { var url = ENV.apiEndpoint + '/docker/pull'; var promise = $http.get(url).success(function(response) { return response; }).error(function(data, status) { }); return promise; } 但是我无法读取stream。 从angular度来看,我收到一条错误消息: SyntaxError: Unexpected token { at Object.parse (native) at fromJson (file://build/vendor/angular/angular.js:1065:14) at […]

socket.io手动添加用户到空间(node.js)

我有一个私人工作的聊天应用程序。我的实现是: 1 – 用户进入另一个用户configuration文件页面并写入消息。 在此之后,我为这个对话创造了一个空间。 socket.join(data.user); 2 – 接收者用户将采取这个消息(只有这个用户),但我不知道我怎么可以join这个接收机用户到这个房间。 所以这是我的问题基本上。 我需要添加“手动”这个接收机用户到我的房间。 这样当我把消息广播到这个房间的时候,消息就会发出这两个用户(一个是匿名的,另一个是注册用户)。 它会提供我的一些代码。 server .on('connection', function(socket) { server.to(socket.id).emit('yourSocketId',{ socketid : socket.id,connectedDate : Date.now }); socket.on('AnonymousMessage', function(data) { if(data.isanon == true) { socket.join(data.user); server.to(data.user).emit('AnonymousBroadcast', { message: data.message, user: data.user, isanon : data.isanon, date : data.date, tabno : data.tabno }); } else { socket.join(****); //– I need […]

Nodejs&Express:如何通过Render将多个variables(Json Datatype)从服务器发送到客户端

我正在使用itunessearch模块,并在nodejs中表示框架 。 search模块返回不同的variables,如软件细节,音乐细节。 我需要音乐艺术家的细节和歌曲的细节。 我可以用下面的代码简单地返回歌曲细节。 在这里,我通过渲染返回了一个variables。 但是我需要返回两个variables。 在客户端: $scope.search_music_data = function(data) { var data="HamdunSoft";//Search my favourite artist name or band name $http({'method' : 'post', url: '/search', data: {'search_item' : data}}). success(function(data){ $scope.artist_name = data; }). error(function(data){ }) $scope.check = true; } Bellowed代码在服务器端: 在route.js中 app.post('/search', search.search_music); 在search_music函数中,我做了音乐search: song="calculated data Json Data" var response.send(song); 这是工作。 但是我也需要发送另一个计算的数据 song="calculated […]

Node Express – 存储和检索authentication令牌

我有一个快速应用程序设置,需要一些关于存储令牌的build议。 在validation用户帐户后,我正在从OAuth 2服务器接收访问令牌,然后我需要为后续的api请求使用该帐户。 我想隐藏来自客户端的令牌值,我相信这样做的一个方法是将令牌保存在服务器中的一个编码的cookie,以便进一步的请求时,这些可以通过中间件路由,然后cookie可以用于检索令牌存储服务器端,然后在正在进行的对实际api端点的请求中用作标题值。 有人实际上已经问过这个问题 – 如何在一个Angular应用程序中存储一个身份validation令牌这正是我在我的应用程序中使用的stream程,但答案谈论使用一个Angular服务,我不太确定我想做到这一点,当然这可以全部由Express处理,所以客户端代码不需要知道令牌,只是API服务器返回的任何错误。 所以我认为我需要stream量总结: 用户提交login凭证 OAuth 2服务器返回访问令牌 令牌被保存在Express中的某个地方 生成一个cookie并将其发送回客户端。 Cookie包含可能编码的令牌值? 或者,也许存储在Express中间件组件中的令牌值的id? 客户端发出api请求,哪个Express路由中间件启动。 快速检查cookie的存在,并解码令牌值,或以某种方式从存储机制服务器端检索。 令牌值然后被用作expression和最终api端点之间的头部 有可能中间件已经在那里处理这种事情,我已经看到PassportJS似乎是我可能要使用的有点东西,但我不太确定它处理我正在工作的服务器上的OAuth2令牌stream反对(密码授予),而是似乎更适合redirectloginOAuthstream量。 我当然需要在某处保存令牌值,所以某种forms的存储(不在内存中,我不认为)。 对于Express,我是相当新的,所以如果能够解决这个问题的话,我会很感激你的build议。 谢谢

Angular – 看不到如何隐藏这个API Key

我在我的angular应用程序声明中有以下代码 – Facebook的API键(实现Sharebutton): .run(function($FB){ $FB.init('9xxxxxxxxxxxx94'); }) 所以我知道这个的一般答案 – 'API密钥应该保留在服务器端',但是我不明白我是如何实际执行这个。 共享呼叫方法是在前端进行的,所以即使我的服务器保存了API密钥并发送了它,当然在前端仍然可见,否则共享button将如何工作? 所以我的问题,我如何隐藏Facebook的API密钥? 谢谢。

自动对焦禁用的字段,将在一定的条件后启用

我有两个input字段,如下图所示。 我正在尝试着重于现在禁用的下一个字段,但是在第一个字段中input字符的最大长度后,它将被启用。 启用后,我希望光标自动在下一个字段。 我使用的代码如下: .directive('moveNext', function(){ return{ restrict: 'A', link: function($scope, element){ element.on("input", function(e){ if((element.val().length==element.attr("maxlength"))){ console.log('asdfasdf'); var tabindex = 1; var $nextelement = $('input[tabindex='+(tabindex+1)+']'); console.log($nextelement); if($nextelement){ console.log('asdf'); $nextelement.focus(); } } }); } } });

当Angular不可用时,如何等待一个元素与量angular器可见?

我有一个用于量angular器testing的login函数,它看起来像这样: var config = require("../helpers/config.js"); var login = function() { browser.driver.get(config.dsp.url); browser.driver.findElement(by.name("userName")).sendKeys(config.dsp.user); browser.driver.findElement(by.name("password")).sendKeys(config.dsp.password); return browser.driver.findElement(by.name("submit")).click().then(function() { return browser.driver.wait(function() { return browser.driver.isElementPresent(browser.driver.findElement(by.className("sample-class-name"))); }, 360000); }); } module.exports = login; 我不能使用任何量angular器特定的钩子,因为在这个页面上没有使用Angular,所以我必须使用底层的webdriver API。 问题是,我似乎无法弄清楚如何等待,直到一个元素是可见的使用这个包装的webdriver对象。 任何帮助,将不胜感激。