Articles of angularjs

将多部分表单上传到另一台服务器

我正在尝试处理我的Node Express服务器上的POST请求,以处理多部分表单上传,在我的情况下,用户正在上传图像。 我想通过我的快速应用程序上传到另一台服务器,这是目前安装使用身体分析器,我也看到不支持多部分bode,而是build议使用一些其他库。 我见过多方,但我不确定如何使用我的客户端应用程序。 在我的客户端代码中,我发布了一个FormData对象,如下所示: function create(data, name) { var formData = new FormData(); formData.append('file', data, name); return this.parentBase.one('photos').withHttpConfig({transformRequest: angular.identity}).customPOST(formData, undefined, undefined, {'Content-Type': undefined}); } 注意:我在这里使用了AngularJS的Restangular库 所以从我理解的多方文档看来,我必须处理表单上传事件,并在表单上传完成后再处理。 事情是,我希望我可以直接将上传到另一台服务器。 事先我的客户端应用程序直接调用这个服务器,但我现在试图让所有的东西通过Express路由,这是可能的,还是我必须使用像multiparty? 请求文档给出了一个使用formData的例子,但我不确定这将如何与我见过的多scheme例一起工作。 例如,一旦上传使用mutliparty在Express中完成,那么我是否必须构造另一个formData对象,然后再进行一个请求,否则我将不得不将每个部分传递给另一个服务器? 我很困惑,请有人帮我解决这个问题吗? 谢谢 编辑 好的,我在@yarons注释中看过了multer,这似乎是我想要使用的东西,我试图用我的express路由器设置来使用它,如下所示: routes.js var express = require('express'), router = express.Router(), customers = require('./customers.controller.js'), multer = require('multer'), upload = multer(); router.post('/customers/:customerId/photos/', upload.single('file'), customers.createPhoto); […]

为什么npm试图在错误的目录中findpackage.json?

我有一个Web应用程序与TypeScript,Angular和几个依赖项。 npm当然也在这里。 package.json是从npm init的乞求中引入到项目中的,现在看起来像这样: { "name": "myApp", "version": "0.0.8-d", "description": "Web App", "author": "Author", "license": "ISC", "repository": { "type": "git", "url": "MYURL" }, "bugs": { "url": "MYURL" }, "homepage": "MYURL", "browserify": { "transform": [ "debowerify" ] }, "dependencies": { "malihu-custom-scrollbar-plugin": "^3.1.3" }, "devDependencies": { "browserify": "~13.0.0", "connect-history-api-fallback": "^1.2.0", "connect-modrewrite": "^0.8.2", "debowerify": "~1.2.0", "gulp": "^3.9.1", "gulp-autoprefixer": […]

xmpp消息不发送给选定的朋友

我正在使用平均堆栈应用程序,现在我需要使用XMPP协议来创build聊天模块。 我是XMPP新手,我在节点js中使用了“node-xmpp-server”和“node-xmpp-client”, 在angular色js中使用了“Strophe.js” 。 我的代码如下: app.js(服务器端文件) "use strict"; var express = require("express"); var https = require('https'); var http = require("http"); var fs = require('fs'); var app = express(); var xmppClient = require('node-xmpp-client'); var xmppServer = require('node-xmpp-server'); var AES = require("crypto-js/aes"); var CryptoJS = require("crypto-js"); /** * @description all process variables */ require("./config/vars")(app); var hostName = […]

我不断收到TypeError:undefined不是一个函数

在MEAN堆栈应用程序中运行以下代码时,我不断收到上述错误: $scope.completelesson = function(lessonindex, type) { //a variable that will be appended to 'level' in order to access the level property of the user var x = lessonindex + 1; var level = 'level' + x; var toupdate = { level: level, type: type, }; console.log(toupdate); $http({method: 'POST', url: '/users/updatelevel'}).success(function(response) { $location.path('/dashboard'); }); }; 以下是完整的错误消息: […]

如何通过Angular,Express和Mongoose执行请求放置?

一个朋友和我正在试图弄清楚在这个代码中,教程产生了什么。 我们关心的是客户机/服务器的stream程是factory.js的第8行: factory.js app.factory('postFactory', ['$http', function($http) { var o = { posts: [] }; o.upvote = function(post){ return $http.put('/posts/' + post._id + "/upvote").success(function(data){ post.upvotes += 1; }); }; return o; }]); MongoosePost.js var mongoose = require('mongoose'); var PostSchema = new mongoose.Schema({ title: String, url: String, upvotes: {type: Number, default: 0}, comments: [{type: mongoose.Schema.Types.ObjectId, ref: 'Comment' […]

节点js中的二级路由改变了根目录

在我的web项目中,我同时使用angular JS和node JS。 为了在Angular JS中路由我的URL,我使用了下面的代码 app.config(function($routeProvider,$locationProvider) { $routeProvider .when("/expert/:expertname*", { templateUrl : "public/views/individual_expert.html", controller:"usercontroller" }) .otherwise({ redirectTo:"/home" }) $locationProvider.html5Mode(true); }); 在上面的情况下,生成的url如下,页面显示正确。 HTTP://本地主机:3002 /专家/ 58200b0f3574801df4ef767c 当我用浏览器刷新我的页面时,执行同样的事情我的NODE JS代码被执行。 代码片段如下 app.get('/expert/:expertname',function(req,res){ if(req.session.usersession!=null){ if(req.session.usersession.type=="Member") res.sendfile('index/member_index.html'); else if(req.session.usersession.type=="Expert") res.sendfile('index/expert_index.html'); else if(req.session.usersession.type =="Admin") res.sendfile('index/admin_index.html'); else res.sendfile('index/visitor_index.html'); } else res.sendfile('index/visitor_index.html'); }); 在这个时候,我在浏览器上看到的错误如下 1.)我所有的CSSpath都改变了。 2.)我所有的JSpath都改变了。 我注意到的是,它正在改变我的根目录与“专家”,并试图search该目录中的所有导入。 我被困在这个很长的时间。 提前谢谢你帮助我。 如果你没有正确地得到我的问题,你可以发表评论。

如何使用Grunt在Visual Studio 2013中debuggingAngularJS应用程序?

我目前正在尝试debugging使用Visual Studio 2013编写的AngularJS应用程序。我有最近发布的Node.js工具安装。 该应用程序使用Yeoman / Bower / Grunt脚手架,并使用命令行grunt serve命令打包并启动localhost web服务器。 如何从Visual Studio 2013启用debugging? 我是否必须重视stream程,还是可以将它与VS2013中值得信赖的F5连接起来,还是甚至有可能?

SystemJS插件可以修改已经传输的文件吗?

当试图让Angular(1.x)与systemjs一起工作时,我意识到目前还没有能力(我知道)将$inject自动插入到angular度组件中,即使当函数的参数是被缩小器弄坏了。 手动创build$inject注释注解是单调乏味的,容易出错,违反了DRY本体 。 有一个称为ng-annotate的成熟的npm模块可以解决这个问题,并且在许多类似的情况下用于捆绑。 正如我一直在探索SystemJS,我看到有一个插件系统,包括翻译源代码的能力,这正是ng-annotate所做的。 但是,从我所看到的,SystemJS只允许您将特定文件扩展名映射到单个加载程序,并且插件的所有示例都将支持新的文件types。 我想要做的是后处理SystemJS的transpilation过程的输出,而不是添加一个新的文件types。 看起来像SystemJS应该能够做到这一点,因为它有一个处理pipe道,但我不能完全弄清楚如何正确的方法。 现在我正在使用Browserify来达到同样的效果,但是我最终得到了一组相当复杂的构build任务,如果可能的话,我想用SystemJS来简化它。 其他能够在SystemJS的加载器pipe道中使用ng-annotate的策略也是值得赞赏的。

带jsonp载荷的Express.js响应状态码

我有一个平均值后端,我想回应 return res.status(400).jsonp({ message: 'Parsing failed.', code: '123' }); 当angular度应用程序使用此JSONP端点并遇到此特定错误时,它会收到一个400,但没有其有效负载。 当我将状态更改为200/300时很好,而400/500则没有。 在其他路线(POST)我可以回应一个4 **状态代码和有效载荷没有任何问题。 return res.status(400).send({ message: 'Codes do not match.', code: '234' }); 任何想法,我俯瞰?

允许与Yeoman(1.0)grunt服务器进行跨域调用

我一直在使用Yeoman 0.9,直到昨天,我决定使用OS X上的beta 1.0版本。我使用Yeoman开发一个angular度应用程序。 随着我的应用程序的完成和工作的Yeoman 0.9 – > 1.0迁移,我现在渴望扩大开发的开发服务器 自耕农 grunt服务器,允许我跨域调用由另一个服务器托pipe的另一个团队开发的API,他们已经允许跨域调用。 到目前为止,我们一直在使用angular.js伪造的http后端。 – 旁边 – 如果有人正在阅读本文,寻求快速解决scheme,我们通过在OS X上使用这种方法在Chrome上从命令行向Chrome传递–disable-web-security选项,从而实现了跨域调用,但是它closures了所有的安全的铬(拇指向下),我们无法让Chrome作为一个新的实例发射。 – 结束 – 通过一些挖掘,我发现这个堆栈溢出发表 (通过这个职位的答案)给我一个很好的主意,我需要做什么来让grunt服务器允许跨域调用。 它基本上涉及添加一个中间件组件连接,以允许更改标题,以便“访问控制允许来源”设置为“*”或任何人喜欢。 对Node.js一无所知,我可以看到文章中提到的变化需要在Yeoman创build的许多文件中的某处进行,但是在哪里呢? 我已经在Yeoman设置的“node_modules”目录中对“app.configure”和“connect.listen”进行了一些原始stringsearch,但是我提出了许多命中,其中大部分来自模块捆绑的例子我不清楚应该编辑哪一个。 如果有帮助,这里是我的angular度应用程序的目录结构的快照: 如果任何人都可以给我一些关于这些变化可能的指示,我会很感激!