Tag: angularjs

利用,但不公开API(AngularJs / NodeJs)

我有一个使用API​​的AngularJs应用程序。 我用StrongLoop制作了这个API 我想要的是: 能够通过AngularJs控制器使用API​​。 不公开API端点给用户。 现在我想我会以某种方式能够与Node做到这一点,在那里我用AngularJS查询本地站点的URL,并且让Node处理路由和身份validation令牌,但是阻止用户使用我的本地URL来获取结果?

主要图片难题 – Node.js Express服务器

所以我们有一个Node.js的后端工具,它为img标签提供了一个HTML网页。 我们用一个工人child_process做这个,以免阻塞主进程。 我们在服务器上这样做的原因是因为在尝试使用AJAX / Angular $ http访问HTML页面时遇到了CORS问题。 当后端网页抓取工具完成后,它可以向浏览器发送一个url列表。 浏览器可以对与这些URL相关的图像发出AJAX请求,但就我所知,前端将遇到与检索HTML相同的CORS问题。 所以我们现在有一个相当糟糕的解决scheme来解决这个问题。 我们使用Cloudinary来完成繁重的工作,而不是我们的Node.js服务器处理base64。 后端工作者child_process抓取HTML,获取图像URL,然后发送一个请求到Cloudinary来检索图像,并发回我们的服务器新的Cloudinaryurl。 然后,我们将Cloudinaryurl发送到前端,前端可以访问这些Cloudinaryurl,而无需任何CORS问题。 这有两个问题: 这是相当缓慢的 – 刮了大约2秒,然后等待Cloudinary保存图像和响应另外2-4秒。 所以浏览器必须等待4-6秒。 我们最终在Cloudinary中存储了大量的图像,这将变得昂贵。 在这个过程之后,我们最终可以删除大约90%的图像,因为用户只会select浏览器中显示的图像,但是我们担心即使图像驻留在Cloudinary几秒钟。 有没有人有这些问题的经验,认为他们有一个比我们正在使用的更好的解决scheme?

如何将会话variables从express / node传递给angular?

所以基本上我使用angular度路线,并使用快递来呈现索引页面。 我想要传递一个会话variables从expression到angular度,但我不知道如何获得每个angular度的路线中的variables。 app.js(快递): app.get('*', function (req, res) { res.sendFile(__dirname+'/client/views/index.html',{ isAuthenticated:req.isAuthenticated(), user:req.user }); }); 的index.html <body> <div class="main" ng-view> </div> </body> Angular应用程序文件: var myapp=angular.module('myApp', ['ngRoute','ngStorage']); myapp.controller('contrl1', ['$scope' ,'$localStorage','$http', function ($scope, $localStorage,$http) { }]); myapp.controller('contrl2', ['$scope' ,'$localStorage','$http', function ($scope, $localStorage,$http) { }]); myapp.config(function($routeProvider, $locationProvider) { $routeProvider .when('/try', { templateUrl: '../views/view1.html', controller: 'contrl1', }) .when('/hello', { templateUrl: '../views/view2.html', […]

AngularJS $ http无限调用

有人可以解释为什么$ http请求发送无限数量的请求到服务器? 在我的应用程序中,这个代码发送无限的请求到服务器 (function(){ var app = angular.module("GrahamsSocksProducts", ["ngCookies"]); app.controller("ProductsController", ["$controller", "$http", "$cookies", function($controller, $http, $cookies){ . . . this.setCookie = function(){ username = "Some random guy" alert(45) $http({ method : "GET", url : "http://_____________", params : { username : username } }).then(function(){ //do something }) } 但是,当我删除http请求时,只有一个请求被传递到服务器,如下所示: . . . this.setCookie = function(){ username […]

在angularjs的文本框中显示build议

我有一个文本框,用户将键入他的地区的名称,并根据他的打字向他展示一些选项。 我正在做一个API调用来获取可能的数据。 api是用nodejs编写的。 我正在使用bootstrap.typeahed来显示可能的build议。 每当用户input一个字母时,我都会进行api调用。 这样做,但如果用户input速度非常快,则会遇到问题。 然后api调用不会按照它们被调用的顺序返回,所以用户有时会看到错误的数据。 如何防止这一点? 如果稍后的api调用已经结束,我可以拒绝api调用吗?

与Nosql DB的angular度

build议使用Angular作为前端,使用CouchDB / Cloudant或MongoDB作为数据库,因为这些数据库可以直接提供JSON数据。 如果我不使用Java或Node或PHP中的任何中间件,它会起作用吗? 我想使用Angular和任何nosql DB。

发送后无法设置标题 – 通过NodeJs发布新用户

我正尝试使用Google Maps API , NodeJs , Express , MongoDB , Mongoose和AngularJS来构build应用程序,而我面临的问题是我无法解决查看其他相关SO Q / A的问题。 基本上,我试图post到由username和[latitude, longitude]标识的我的db用户[latitude, longitude]他们提交了我在我看来的某种forms。 当我尝试从Postman等应用程序直接post用户时,一切正常,我可以在我的数据库中看到新用户。 相反,当我尝试直接发布用户提交时,我的控制台中出现以下错误: /node_modules/mongodb-core/lib/topologies/server.js:766 catch(err) { process.nextTick(function() { throw err}); } ^ Error: Can't set headers after they are sent. 以及我的Google Chrome控制台中的以下日志: angular.js:10695 GET http://localhost:3000/users net::ERR_CONNECTION_REFUSED 这是我的观点 : <form name="addForm" novalidate> <div class="form-group"> <label for="username">Username <span class="badge">All fields required</span> […]

不能用maven运行npm grunt bower

我有一个简单的networking应用程序,使用npm鲍尔和咕噜声。 我正在使用这个项目作为maven项目中的一个模块。 我search了互联网,发现如何定义项目的pom.xml,但我无法运行它。 任何人都可以告诉我如何使用maven构build和运行webapp的步骤。 pom.xml <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.5.0</version> <executions> <execution> <id>exec-npm-install</id> <phase>generate-sources</phase> <configuration> <executable>npm</executable> <arguments> <argument>install</argument> </arguments> </configuration> <goals> <goal>exec</goal> </goals> </execution> <execution> <id>exec-bower-install</id> <phase>generate-sources</phase> <configuration> <executable>bower</executable> <arguments> <argument>install</argument> </arguments> </configuration> <goals> <goal>exec</goal> </goals> </execution> <execution> <id>exec-grunt</id> <phase>process-resources</phase> <configuration> <executable>grunt</executable> </configuration> <goals> <goal>exec</goal> </goals> </execution> </executions> </plugin> </plugins> </build> 我得到的错误是 [ERROR] Command […]

即使用户重新加载页面,如何保持function运行

我的一个页面上有一个控制器,可以在首次访问API的同时获取一些数据。 我想保持function运行,即使用户在那个时候重新加载页面。 如果用户重新加载或导航或closures浏览器甚至注销我想继续运行这个function,直到我完成从API的数据收集。 我怎样才能用AngularJS&Express JS后端实现这种结构。 顺便说一句,第一次访问后,我会检查数据库,如果用户初始化或不,不要再次调用initialize()函数,我只会从数据库获取数据和服务用户。

部署Angular 2应用程序到Heroku

在过去,我总是将我的Angular 1和Rails应用程序捆绑在一起,通常使用heroku,这对我来说非常有用。 现在我已经结束了Angular 2,我想分离出我的Angular和Rails代码。 我已经通过Angular-Cli创build了一个非常基础的Angular 2应用程序,但我还没有弄清楚如何将它部署到Heroku。 我没有使用expressjs或类似的东西。 任何人都知道了吗?