Articles of angularjs

用户注册和authentication/授权与MEAN堆栈

我需要用我的AngularJS应用程序注册用户。 将密码存入MongoDB时,我想用salt进行哈希运算。 那么我希望同一个用户对他/她可以采取的一些行动进行authentication和授权。 我来自Java / JavaEE背景,从未使用MEAN堆栈为JavaScript应用程序做过任何注册/authentication/授权工作。 有没有参考/样本MEAN的应用程序,我可以参考理解注册/authentication/授权? 我应该使用Cookie还是令牌进行身份validation?

Nodejs没有收到POST正文

我在angularjs中发送一个POST,如下所示: $http.post("/mypath", { data: "foobar" }) 而在nodejs(expressjs)我试图把它拿起来,像这样: app.post "/mypath", (req, res) -> console.log "req.body: ", req.body res.end() 我尝试了各种不同的化身( body: "foobar"等),但我一直得到req.body: undefined 有没有简单的方法来读取节点/快递中的有效载荷?

为什么量angular器立即运行每一行代码?

为什么量angular器立即运行每一行代码? 所以我有一个不是写在angular度的网页。 我需要基于selenium的自动化。 我用seleniumwebdriver-js代码来打它。 下面的例子。 一旦你login,你会被带到一个有3个问题的页面。 每次login时问题的顺序都是随机的。 因此,每次login时,您都可能不会以相同的顺序得到相同的问题。 问题1)你叫什么名字? 问题2)现在几点了? 问题3)你在这里? 每个问题的答案都是问题的最后一个字。 答案1)名称 答案2)它 答案3)在这里 所以我想一个简单的方法来解决这个问题是创build一个if条件语句 var foo = browser.driver.findElement(By.id('question1')).getText(); if(foo == What is your name?) { browser.driver.findElement(By.id('answer1')).sendKeys('name'); } else { blah } 等等…等等… 但是我遇到的问题是,在它到达那个点之前,Protractor立即运行if语句。 在下面的示例中,控制台会立即打印出控制台日志“this sucks”,因为它会立即运行if语句,而不会经过第一步到达页面然后检查。 this.foo_test = function() { console.log('starting foo test'); browser.driver.get('http://my-test-url.com/'); browser.sleep(3000); browser.driver.findElement(By.id('login')).click(); browser.sleep(3000); browser.driver.findElement(By.id('user')).sendKeys('user'); browser.driver.findElement(By.id('login_button')).click(); browser.sleep(3000); console.log('getting variable'); var foo […]

元素在点(1254,21)不可点击。 其他元素将获得点击

我正在使用angularJS量angular器和selenium服务器进行UItesting, 这是我的TestCase: it('Click on Top Headings one by one', function () { //click on Top Heading one by one ptor.element.all(by.repeater('application in workbenchOptions.applications')).then(function (arrs) { ptor.sleep(3000); arrs[2].click(); ptor.sleep(3000); arrs[3].click(); ptor.sleep(3000); arrs[1].click(); ptor.sleep(3000); arrs[2].click(); ptor.sleep(3000); arrs[0].click(); ptor.sleep(2000); }); }); 这是我的用户界面,我试图单击每个标题 首先我点击arrs[2]即arrs[2] Test Case 然后我点击arrs[3] , arrs[1] , arrs[2] , arrs[0] ,一切都点击,但如果在开始时假设arrs[0]已经打开,那么我不能点击这又一次,我得到了一个错误消息 UnknownError: unknown error: Element is not […]

有angular度的服务和浏览

我正在使用AngularJS进行SPA,而我正在使用browserify来构build我的应用程序。 现在问题出现了,我们应该以传统的方式来编写Angular服务,还是只require它们。 由于Angular服务是单例,因此可以很容易地通过require来完成:简单地暴露一个对象文字,就完成了。 工厂也是可能的,只是暴露一个function。 等等 … 我目前唯一的缺点是我无法从这样的文件(例如$http )访问其他真正的 Angular服务,但在后台浏览,这似乎并不重要。 例如,你可以很容易地使用Node.js的http模块,这要归功于browserify。 那么你怎么看待这个? 这有什么其他的优点和缺点? PS:请注意,我不是在问这是好还是坏,因为这可能主要是主观的。 我感兴趣的是有哪些机会出现,或者我要面对哪些风险。

无法从request.body中提取发布的数据

这是我的angular度发帖要求: var webCall = $http({ method: 'POST', url: '/validation', async : true, headers: { 'Content-Type': 'text/html' }, data: {email: "abc@gmail.com"}}); webCall.then(successHandler, errorHandler); 现在在我的nodejs服务器中,以下代码提取发布数据: app.post('/validation',function(req,res){ req.on('data',function(data){ console.log(data.toString()); }); 但是安慰请求体为: app.post('/validation',function(req,res){ console.log(req.body); } 控制台空的对象。

当请求来自另一个域时,如何在sailsJS后端应用程序中坚持authentication状态?

我有一个架构,我正在使用sailsJS(自定义node.js实现)作为我的API服务器和angular度前端服务器。 每个应用程序都来自不同的域名。 我怎样才能保持sailsJS api应用程序之间的身份validation会话之间的请求? Sails有一个集成的req.session对象来维护会话,但是当客户端从另一个域被服务的时候,它似乎没有开箱即用。

Sails.js:模型本身的一对多关系

我正在尝试使用Sails.js和MongoDB来构build一个支持多级类别的简单应用程序。 一个类别可以有许多子类别。 所以在我的Category模型中,我在自己的内部build立了一对多关系类别 : module.exports = { adapter: 'mongo', attributes: { categoryTitle: { type: 'string', required: true }, //owner or parent of the one-to-many relationship parentCat: { model: 'category' }, //sub categories subCategories: { collection: 'category', via: 'parentCat' }, }}; 这些类别使用​​AngularJS中的ng-repeat指令显示在select下拉列表中,例如 <select class="selector3" id="categoryParent" ng-model="category.parent"> <option>Choose a category or none</option> <option ng-repeat="cat in categories" value="{{cat.categoryTitle}}">{{cat.categoryTitle}}</option> […]

使用节点缓冲区或fileStream与formDatafile upload

更新 :我已经或多或less地使用multipart( app.use(multipart({uploadDir: __dirname + '/../uploads'}))从这些说明中解决了这个问题),但仍然不知道为什么我的原始代码下面)失败。 在这个问题上有很多变化,我尝试了那里没有成功的想法。 我正在使用file upload指令 (并尝试另一种开源替代方法)将二进制文件发送到节点服务器,该节点服务器运行以下代码(基于我现在无法获得的SO答案): exports.receive = function(req, res) { var fitFileBuffer = new Buffer(''); // req.setEncoding("binary"); //doesn't help req.on('data', function(chunk) { fitFileBuffer = Buffer.concat([fitFileBuffer, chunk]); }); req.on('end', function() { fs.writeFileSync( "today2.fit", fitFileBuffer, 'binary'); res.send(200); }); }; 如果我上传today.fit并与today.fit进行比较,它们具有相同的Kb数据,但是不完全相同,并且随后的代码无法处理该文件。 鉴于这发生了两件第三方代码,我怀疑问题在于我的代码。 以下是POST正在进行的客户端的详细信息

当所有组件都在一个文件中时,Angular App就可以工作,但是当组件在不同的文件中时会引发'nomod'错误

我正在通过本教程来创build一个单页MEAN堆栈待办事项应用程序。 我正在这一步 ,具体而言。 本教程涵盖了代码的模块化,虽然我能够将我的后端代码(Express,Mongo等)成功地分离成模块,但当我分开我的angular.js代码时,待办事项应用程序停止运行。 抛出控制台的具体错误是“未捕获错误:[$ injector:modulerr]”。 具体的错误是“nomod”(即模块“simpleTodo”无法加载。)我会很感激任何帮助。 代码作为一个文件(core.js): var simpleTodo = angular.module('simpleTodo', []); simpleTodo.controller('mainController', ['$scope', '$http', function($scope, $http) { $scope.formData = {}; $http.get('/api/todos') .success(function(data) { $scope.todos = data; }) .error(function(data) { console.log('Error: ' + data); }); $scope.createTodo = function() { $http.post('/api/todos', $scope.formData) .success(function(data) { $scope.formData = {}; $scope.todos = data; }) .error(function(data) { console.log('Error: ' […]