Tag: angularjs

无法通过express / mongoose / angularjs从Mongodb访问数据

我正在使用MEAN堆栈来处理简单的自定义CMS。 这是我的第一个networking应用程序,我用它来学习绳索,因为它是。 不幸的是我无法从mongodb访问数据。 mongodb服务正在运行,数据在那里(当我通过db.news.find()查看时,我将两个新闻文档插入到mongo shell的“news”集合中)。 因为我添加了样本数据(两个文档)和'db.news.insert(var)'。 所以我需要的是能够从数据库获取新闻数据,并将其发送到angular.js客户端,然后将其显示在每个路由的固定框中。 然后,当然,我需要能够在angular度客户端中编辑数据,将其发送回服务器并将其保存到数据库。 很基本的东西。 我知道我的angular码工作正常,因为当我使用一个实际的对象,并将其绑定到范围我可以访问和查看数据。 以下是我如何从angular度访问数据库:我已经用注释描述了所遇到的所有问题。 请注意那些标有< – 和^ – 的。 干杯 angular.module('App', ['ngResource']) .controller('NewsCtrl', function($scope, $resource){ var News = $resource('/'); var news = News.query(); console.log(news); // ^- No news logged in the console – sometimes I am getting an empty array, // sometimes an 'undefined' and asometimes an array […]

AngularJS和nodeJs Express:路由和刷新

我的应用程序“工作”很好,但是,当我在浏览器中按F5我的问题出现。 我的应用程序是这样组织的: 快递中的nodeJs + express: app.use(express.static('public')); app.use( app.router ); app.use(function(req, res) { res.sendfile(__dirname + '/public/index.html'); }); 我的angular度路线: app.config(function($locationProvider, $routeProvider) { $locationProvider .html5Mode(true) .hashPrefix('!'); $routeProvider .when('/', { templateUrl: '/page/home.html'}) .when('/activate/:token', { templateUrl: '/page/activate.html'}) .otherwise({ redirectTo: '/' }); }); 和一切工作正常,直到我刷新页面,如果我在本地主机:1234 /激活/ 999它出现刷新良好的页面,但它在控制台这个错误邮票 Error: Template must have exactly one root element. was:<!DOCTYPE html> <html ng-app=app xmlns="http://www.w3.org/1999/html"> <head> <title>title</title> […]

redirect到外部url

我正在用NodeJs使用AngularJs。 我有一个场景,当一个成功的HTTP POST请求,我需要redirect用户。 在客户端通过AngularJS,我做了一个HTTP POST请求到一个路由: $http.post('/aPath', data) .success(function (result) { //Handle success }) .error(function (err) { //Handle error }); 这个路由在NodeJs内处理,然后执行实际的POST。 成功后,在路由处理程序中,我redirect: function handlePostRequest (req, res) { //Route handler //HTTP POST Request //Following code called when POST request is successful if (result) { //Successful post res.redirect("http://www.google.com"); } } 但是,浏览器不会导航到谷歌。 相反,在AngularJS客户端的POST请求的error handling程序中,达到了控制。 我检查了服务器,发现POST请求作为状态码302返回,因此被客户端的POST请求的error handling程序挑选出来。 我不明白为什么,当服务器成功执行redirect代码时,控制仍然到达客户端,也是error handling程序。 我如何成功redirect?

错误:在HEROKU上运行MEAN应用程序时无法连接到

我正在写我的第二个平均应用程序。 第一个是手工构build的组件(我没有意识到MEAN ),并在HEROKU上托pipe; 我试图使用MONGOOSE,但放弃了与HEROKU数据库连接的问题 – 它在我的MAC上运行良好。 这一次它在我的MAC上工作,但我仍然有连接问题; 我不想放弃MONGOOSE。 在这一点上,我所拥有的是从其MEAN GitHUB存储库下载的zip文件构build的vanilla MEAN应用程序。 见下面我从HEROKU得到的日志: 2013-09-10T01:33:28.045816+00:00 heroku[web.1]: Starting process with command `grunt` 2013-09-10T01:33:29.526090+00:00 app[web.1]: Running "jshint:all" (jshint) task 2013-09-10T01:33:29.567534+00:00 app[web.1]: >> 1 file lint free. 2013-09-10T01:33:29.568809+00:00 app[web.1]: 2013-09-10T01:33:29.568809+00:00 app[web.1]: Running "compass:dist" (compass) task 2013-09-10T01:33:29.573055+00:00 app[web.1]: Warning: You need to have Ruby and Compass installed and in your system […]

如何解决错误“请设置envvariablesCHROME_BIN”运行Angular.js与咕噜声

我正在尝试使用AngularJS进行unit testing。 我已经安装了凉亭和咕噜声,所以我应该可以做testing。 但是,当我从terminal(我的情况下Git Bash)运行“grunt test”时,出现错误“请设置envvariablesCHROME_BIN”。 根据这个StackOverflow的问题 ,我应该改变karma.conf.js和karma-e2e.conf.js,但我不能改变他们,因为项目上的其他人将有问题。

NodeJS返回JSONP不使用快递

我试图调用我的nodejs服务器,并显示来自angularjs应用程序的结果。 一直以来的例子,但是当我改变我的代码的示例代码,它总是调用错误callback。 我感觉我的服务器出了问题,但是我不能使它工作,没有快速或其他库的nodejs,以及所有其他答案都使用express。 我怎样才能让它工作,而不使用快递? 在angularjs中的代码,我称之为服务器: app.controller('Main', function ($scope, $http) { $scope.init = function() { //var api = 'http://api.trakt.tv/calendar/premieres.json/7c989229f2fa626832e7576eb59820e9/20131103/30/?callback=JSON_CALLBACK'; $http.jsonp('http://localhost:8888/selectAllLocations?callback=JSON_CALLBACK').success(function(data) { console.log(data); }).error(function(error) { console.log('My error: ' + error); }); }; }); 如果我使用var api中的值,结果是好的,成功被调用,而不是我的。 这是我的nodejs服务器中的代码。 var result = sequelize.query(query, null, options, parameters) .success(function (rows) { if (type == 'select') { response.writeHead(200, { "Content-Type": "application/json" }); response.write(JSON.stringify(rows)); […]

nodejs expressjs angularjs路由

我想从一个快速函数redirect到一个angularjs局部加载该视图的控制器。 app.js – > nodejs function(req, res, next) { console.log(req.session); if(req.session.user/* && req.session.user.role === role*/) next(); else res.redirect("/#/login"); } app.js – > angularjs app.config(function($routeProvider){ $routeProvider .when("/create", { templateUrl : "/users/usersCreate", controller : "users" }) .when("/delete", { templateUrl : "/users/usersDelete", controller : "users" }) .when("/login", { templateUrl : "/sessions/sessionsCreate", controller : "sessionsCtr" }) .otherwise({ reditrectTo : […]

socket.ioangular度错误:未捕获TypeError:无法调用方法'onClose'null

我试图在这里遵循指南: http://www.html5rocks.com/en/tutorials/frameworks/angular-websockets/ 我用angularjs使用node,express和socket.io。 当我加载http://localhost:8000/donate时,我得到客户端的跟随错误: Uncaught TypeError: Cannot call method 'onClose' of null [VM] socket.io.min.js (2806):2 (anonymous function) 同样的angular度工厂模式: app.factory('socket', [ '$rootScope' , '$log' , function ( $rootScope , $log ) { var socket = io.connect(); $log.log('socket', io, socket); return { on: function (eventName, callback) { socket.on(eventName, function () { var args = arguments; $rootScope.$apply(function () […]

Node.js,IIS,Angular和Visual Studio

所以,我是一个教程,使用angular种子写我的第一个angular度的应用程序。 Angular种子带有一个web-server.js文件,本质上运行一个节点服务器,所以你可以模拟一个Web服务器。 本教程要求在命令提示符下启动服务器。 问题是每次运行启动节点服务器的文件时,Visual Studio 2013打开,然后最终告诉我访问被拒绝。 这不是预期的结果。 我需要设置与Node一起使用的IIS吗? 为什么从命令提示符启动节点Web服务器时VS打开?

使用casperjstestingangularjs应用程序

当使用CaspertestingAngular应用程序时,我发现input和模型之间的绑定似乎没有发生,当我填写表单域。 我用Casper的填充方法,但发现Angular表单validation拒绝任何必填字段,好像它们仍然是空白的。 姓名电子邮件主题信息