Tag: angularjs

表单的get方法vsangular$ http.get请求

我想通过我的angular度前端到expressjs后端得到一个特定的URL的请求,现在在我的前端,如果我这样做: – <li> <a ng-click="givequiz()">GiveQuiz</a> </li> 和我的angular码是: – $scope.givequiz=function(){ console.log("give quiz"); $http.get('/home/givequiz').then(function(res){ //request is going fine and all }); } 上面的东西是工作,但我得到的响应作为一个对象,完整的文件和URL不会改变,所有。 但是,如果我做forms得到的东西: – <li> <form action="http://localhost:8000/home/givequiz" method="GET"> <button type="submit">Give Quiz</button> </form> </li> 这需要我一个新的URL称为“ http:// localhost:8000 / home / givequiz ”,但$ http.get不是为什么这样呢? 两种方法都不一样吗? 这就是我如何处理这两个请求。 router.get('/givequiz', function(req, res, next) { console.log("in getquiz"); //always gets printed ^ means […]

Express.js应用程序尝试使用angular度:未捕获错误:和未捕获错误:

自从我创build了一个Web应用程序来运行Angular之后已经有一段时间了。 我正在通过一个旧项目(尝试在我正在执行的页面上实现一个控制器,确保控制器文件设置正确等)来回溯我的步骤,而且新项目上的所有内容都与我的旧项目build立。 但是,当我加载页面,我正在尝试使用,有2个错误来了,我的快速服务器的GET调用不会触发,当我按下button。 这些错误是: angular.js:38 Uncaught Error: [$injector:nomod] http://errors.angularjs.org/1.5.6/$injector/nomod?p0=eagledreamApp at angular.js:38 at angular.js:2101 at b (angular.js:2025) at Object.module (angular.js:2099) at mainpageController.js:1 (anonymous) @ angular.js:38 (anonymous) @ angular.js:2101 b @ angular.js:2025 (anonymous) @ angular.js:2099 (anonymous) @ mainpageController.js:1 angular.js:38 Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.5.6/$injector/modulerr?p0=eagledreamApp&p1=Error%3A%20%5B%24injector%3Anomod%5D%20http%3A%2F%2Ferrors.angularjs.org%2F1.5.6%2F%24injector%2Fnomod%3Fp0%3DeagledreamApp%0A%20%20%20%20at%20https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.6%2Fangular.min.js%3A6%3A412%0A%20%20%20%20at%20https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.6%2Fangular.min.js%3A25%3A235%0A%20%20%20%20at%20b%20(https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.6%2Fangular.min.js%3A24%3A282)%0A%20%20%20%20at%20https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.6%2Fangular.min.js%3A25%3A20%0A%20%20%20%20at%20https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.6%2Fangular.min.js%3A39%3A374%0A%20%20%20%20at%20q%20(https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.6%2Fangular.min.js%3A7%3A355)%0A%20%20%20%20at%20g%20(https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.6%2Fangular.min.js%3A39%3A222)%0A%20%20%20%20at%20db%20(https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.6%2Fangular.min.js%3A43%3A246)%0A%20%20%20%20at%20c%20(https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.6%2Fangular.min.js%3A21%3A19)%0A%20%20%20%20at%20Ac%20(https%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.6%2Fangular.min.js%3A21%3A332) at angular.js:38 at angular.js:4630 at q (angular.js:322) at g (angular.js:4591) at db (angular.js:4513) at […]

在angular.js中从node.js获取json 1

我想从node.js json数据到angular.js版本1,但我得到像“无法加载http://127.0.0.1:3000/emps :对预检请求的响应没有通过访问控制检查:在请求的资源上没有“Access-Control-Allow-Origin”标题,因此不允许Origin'null'访问。 有angular度的js脚本代码 var myModule = angular.module("myApp",[]).controller("directivesController",function($scope,$http){ var res = $http.get("http://127.0.0.1:3000/emps",{headers:{'Access-Control-Allow-Origin':'*',"Access-Control-Allow-Methods": "*", "Origin":"*", "Access-Control-Allow-Headers": "*"}}); res.success(function(data,status,header,config){ alert("success"); /*console.log(data); console.log(status); console.log(header); */ }); res.error(function(data,status,header,config){ /*console.log(data); console.log(status); console.log(header); */ alert("error"); }); }); Node.js脚本代码 router.get('/', function(req, res, next) { var jsonData = '{"persons":[{"name":"John","city":"New York"},{"name":"Phil","city":"Ohio"}]}'; var jsonObj = JSON.parse(jsonData); res.send(jsonObj); });

angularjs不张贴表单

这里是html <form name="vm.hotelForm" ng-submit="vm.addHotel()"> Hotel name: <input type="text" name="name" required ng-minlength="2" ng-model="vm.name"> <div ng-show="vm.hotelForm.name.$dirty && vm.hotelForm.name.$invalid && vm.isSubmitted"> <p>Name should be more than 2 characters long</p> </div> Hotel address: <input type="text" name="address" required ng-minlength="2" ng-model="vm.address"> <div ng-show="vm.hotelForm.address.$dirty && vm.hotelForm.address.$invalid && vm.isSubmitted"> <p>add services</p> </div> Your stars: <input type="number" name="stars" required ng-pattern="/^[1-5]$/" ng-model="vm.stars"> <div ng-show="vm.hotelForm.stars.$dirty && […]

node.js angular jade客户端和node.js rest api

有没有什么好的例子或指导,任何人可以提供这样的结构化应用程序? Client (client.company.com) Node.js Angular Jade ExpressJS Server (private) (server.company.com) node.js "rest" api (express) api现在是私有的,只能从托pipe服务器访问。 如果有一个创build食谱的页面,是这样吗? 客户 – angular form with router that posts to client.company.com/recipe – express would need route to handle that /recipe – that route would then post to api server server.company.com/recipe – then response would be propagated through the layers back […]

Yeomanangular度开发环境与socket.io.js和NodeJS

我有一个angular色应用程序,在开发工作很好,在港口9000。 我有一个运行在端口3000上的服务器端node.js应用程序。 我已经在NodeJS应用程序上安装了socket.io。 我angular度应用程序中的大部分JS都在app目录中,但是socket.io.js通过节点提供: <script src="components/angular/angular.js"></script> <script src="components/angular-resource/angular-resource.js"></script> <script src="components/angular-cookies/angular-cookies.js"></script> <script src="components/angular-sanitize/angular-sanitize.js"></script> <script src="http://localhost:3000/socket.io/socket.io.js"></script> 这对我来说有点不对劲。 另外,当我加载socket.io并在客户端调用connect()时,它试图连接到localhost:9000,而不是localhost:3000 有没有办法调和这两个世界? 我是否需要在node.js中服务我的angular度应用程序? 我不愿意丢失活重装。

噶安装失败重buildnpm node.js

所以我试图让我的Windows 7机器上的业力工作,我仍然有麻烦。 我正在使用node.js 0.10.7并使用命令npm install -g karma。 第一个问题是缺lessvcbuild,所以我安装http://www.microsoft.com/en-us/download/details.aspx?id=11310并将其添加到我的path。 现在我得到重build过程中的下面的错误: C:\ Users \ Steve \ AppData \ Roaming \ npm \ node_modules \ karma \ node_modules \ socket.io \ nod e_modules \ socket.io-client \ node_modules \ ws> node“C:\ Program Files \ nodejs \ node_mo dules \ npm \ bin \ node-gyp-bin \ …. \ node_modules \ […]

限制对所有路线的访问权限

我开始尝试使用ExpressJS + AngularJS,我遇到了一个压力的情况。 我的目标是拥有一个login页面和一个仪表板页面,并使用Passport + MongoDB我将对用户进行身份validation,如果凭据正确,则将其redirect到仪表板页面。 我已经开始使用angular-express-seed并对其进行了修改,所以我结束了前面提到的观点: $routeProvider. when('/login', { templateUrl: 'partials/login', controller: 'LoginCtrl' }). when('/dashboard', { templateUrl: 'partials/dashboard', controller: 'DashboardCtrl' }). otherwise({ redirectTo: '/login' }); 我正在服务每个部分观点: app.get('/partials/:name', routes.partials); exports.partials = function (req, res) { var name = req.params.name; res.render('partials/' + name); }; 除了我可以直接访问仪表板的部分(根本不login)之外,login系统工作正常。 所以我想我需要弄清楚在授予用户访问仪表板(或任何其他方面)之前,用户是否已通过身份validation。 我发现这是诀窍: function ensureAuthenticated(req, res, next) { if (req.isAuthenticated()) { return […]

tomcat上的angularJS问题 – 应用程序在page / controller-change上重新启动

对于我本地的angularJS开发,我正在使用nodeJS。 如果我在tomcat服务器上部署我的angularJS项目,它基本上工作,但是,我使用不同的页面和不同的控制器,每次我点击另一个页面,似乎整个应用程序重新启动,因为Rootcope丢失,它启动的程序部分只能在应用程序启动时启动。 有谁能告诉我这里怎么了? 为什么我的应用程序不能100%正确运行在tomcat上? 我正在使用tomcat 7.0.34

AngularJS $ resource'GET'访问正确的API,但是'PUT'和'POST'不会

当使用方法:POST时 ,从AngularJS $资源的后续调用错误的API URL 我的控制器是这样设置的,使用Angular的$resource : $scope.updateProduct = $resource('/api/updateProduct/:product/:param/:value',{},{ query: {method:'GET'}, post: {method:'POST'}, save: {method:'PUT', params: {brand: '@brand', param:'@param', value:'@value'}}, remove: {method:'DELETE'} }); $scope.updateProduct.save({ product : $scope.post._id, param: 'likes', value: $scope.user._id }); 我的服务器在NodeJS和ExpressJS上运行。 在我的控制台中,当save操作被调用时,我可以看到: POST /api/updateBrand/<productid>/likes/fun,%20quirky%20loud,%20boho,%20hippy 200 22ms – 2.31kb 但是,我的API没有正确访问。 例如,如果我在浏览器中访问上面的URL,就会调用API函数,并更新我的数据库(并在我的服务器控制台中报告)。 然而,当Angular在这个URL上做了一个PUT ,什么也没有发生。 有趣的是,当我将$scope.updateProduct.save()更改$scope.updateProduct.save() $scope.updateProduct.get() ,正确调用了API并且一切正常。 任何想法发生了什么? 编辑:这是服务器设置: ExpressJS API设置: app.get('/api/updateProduct/:product/:param/:value', api.updateProduct); API code […]