Tag: angularjs

在网页上提供REST-API数据而不暴露API端点

我是MEAN的初学者。 当调用未经身份validation的REST API(不需要用户login)时,API端点将暴露在JS文件中。 通过论坛看来,没有办法阻止滥用者直接使用API​​端点,甚至无法使用这些端点创build自己的Web /应用程序。 所以我的问题是,有没有办法避免暴露JS文件中的端点? 在类似的说明中,是否有任何方法,不要在前端使用REST调用,仍然能够在MEAN堆栈中提供这些dynamic内容/ API输出数据? 我使用EJS。

与AngularJS的OAuth

我正在尝试将社交身份validation添加到我使用Yeoman创build的项目中。 但是callback有一个问题。 它无法find我的本地服务器。 http://localhost:9000/oauth2callback#access_token=… Cannot GET /oauth2callback 我发现这是node js问题,在那里提到了stackoverflow ,但它不能与http://hostname/在路由中工作,并且在那里grunt连接模块冲突与其他连接模块在Yeoman种子应用程序(也许我couldn'正确设置)。 项目代码保存在github上,并基于angular-oauth工作。 这是路线文件。 该项目非常简单。 此外,我将不胜感激任何帮助这个或这个问题的更一般的解决scheme。

angular-phonecat教程 – web-server.js给node.js 404错误

嗨,我正在运行angular手机教程,但我已经卡在步骤-0与node.js http服务器返回404的/app/index.html 我在这个盒子上安装了其他的http服务器(Win7 Pro),但他们甚至没有运行,我不认为我安装了任何这些服务。 我应该从哪里开始debugging? 以下是目前的输出: C:\Users\S>node C:\Users\S\angular-phonecat\scripts\web-server.js Http Server running at http://localhost:8000/ GET /app/index.html Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1636.2 Safari/537.36 404 Not Found: /app/index.html GET /favicon.ico Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1636.2 Safari/537.36 404 Not Found: /favicon.ico GET /app/index.html Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 […]

ng-click之后的AngularJSredirect

我有一个REST API读取/保存MongoDB数据库的数据。 我使用的应用程序检索表单并从中创build一个对象(作业),然后将其保存到数据库。 表单之后,我有一个button,点击事件触发我的控制器的保存function,然后redirect到另一个url。 一旦我点击button,我说这个工作已经被添加到数据库中,但是应用程序被卡住,redirect从不被调用。 但是,如果我重新加载我的应用程序,我可以看到新的“工作”已被很好地添加到数据库中。 这是怎么回事? 谢谢 ! 这是我的代码: 示例html(翡翠)代码: button.btn.btn-large.btn-primary(type='submit', ng:click="save()") Create angular度模块的控制器: function myJobOfferListCtrl($scope, $location, myJobs) { $scope.save = function() { var newJob = new myJobs($scope.job); newJob.$save(function(err) { if(err) console.log('Impossible to create new job'); else { console.log('Ready to redirect'); $location.path('/offers'); } }); }; } angular度模块的configuration: var myApp = angular.module('appProfile', ['ngResource']); myApp.factory('myJobs',['$resource', function($resource) […]

无法使用node.js连接到Web服务器

我试图按照Angular教程,我不能通过步骤00第2部分。我使用node.js并尝试运行命令脚本/ web-server.js。 它只是显示我“…”,当我去本地主机端口8000说它无法连接。 有任何想法吗?

将文件附加到FormData不能在angularjs中工作

我使用angularjs在单个请求中上传文件和json对象到nodejs服务器。 然后我得到这个萤火虫console.log: —————————–8791641017658 Content-Disposition: form-data; name="model" {"phone":"asasasa","description":"121212112","payment":"2121212121","shipping":"121221221","imageurl":"21212112","price":"212112212","status":"new"} —————————–8791641017658– 所以,name =“file”不会出现在这里。 和nodejs服务器中的console.log(req.files) // print out "{}" 请帮忙,谢谢! $scope.files = []; $scope.$on("fileSelected", function (event, args) { $scope.$apply(function () { //add the file object to the scope's files collection $scope.files.push(args.file); console.log($scope.files); }); }); $scope.create = function() { $scope.seller_submit = { phone: this.phone, description: this.description, payment: this.payment, shipping: this.shipping, […]

隐藏/禁用字段从req.body消失(Express JS BodyParser)

我一直无法find这个问题的答案。 当使用NodeJS,Express和Express Bodyparser(以及我的MEAN堆栈的其余部分)时,遇到隐藏和禁用字段的问题:在提交表单时,它们不会显示在req.body对象中。 如果我理解正确的话,express的bodyparser方面实际上是从另外一个项目中拿走的。 无论如何,我还没有真正弄清楚为什么这些领域被删除或如何阻止这种情况发生。 我怀疑这可能与方法重叠有关,但是启用/禁用这个对于所讨论的字段没有影响。 所以…对于我自己和未来的Google员工来说:这里发生了什么? 下面是一些代码,请求:JADE: form(action="/admin/users/edit", method="post", ng-submit='registerUser($event)', name='form', novalidate) .row(ng-show="ifweareupdating") label(for="_id") _id: input(type="hidden", id="_id", name="_id", ng-model="newUser._id") input(type="text", id="_notHiddenId', name="_notHiddenId", ng-model="newUser._id") performance: app.post("/admin/users/edit", pass.ensureAdmin, userRoutes.editUserPost); userRoutes: exports.userRoutes.editUserPost = function(req,res,next) { console.log(req.body._id) // logs undefined console.log(req.body._notHiddenId) // logs actual id }

AngularJS socket.IO引导模块只有一次

当与NodeJS和socket.io一起使用AngularJS时,我有一个bootstrap模式窗口的问题。 我一直在谷歌search,似乎是问题有一个解决scheme,但由于某种原因,它不起作用,当我试图与Socket.io一起实施它。 我在两个不同的地方使用模式 – 当我点击一个静态的div(完美的作品),当我收到来自webSockets的消息(只打开一次,然后什么也没有)。 我想我可能在我的JS代码有一个问题,因为模式,当我点击一个静态的div工作正常,但我不知道。 我有一个地址,当这个链接被访问时,我通过WebSockets发送一些数据给客户端。 客户端事件如下所示: socket.on('patient', function(data){ modalInstance = $modal.open({ templateUrl: 'templates/patient.js', controller: 'patientModalCtrl', resolve: { details: function(){return data;} } }); }); 和: socket.on('alergy',function(data){ modalInstance = $modal.open({ templateUrl: "templates/alergy.js", controller: 'alergyModalCtrl' }); }); 这两个工作只有一次,然后模态窗口停止出现。 有趣的是,当我发出“过敏”,然后再“耐心”,我得到一个“过敏”窗口,然后耐心窗口下面的第二个“过敏”窗口。 发射看起来像这样: app.get('/api/socket/hash/:hash', function(req, res){ var hash = req.params.hash; //allergy if(hash === "3fDecCD"){ connected_sockets[0].emit('alergy', {alergy: true}); res.json({status: true}); […]

来自AngularJS的NodeJS HTTP请求

我目前正在开发一个Web应用程序,使用AngularJS在前端和后端的NodeJS上使用express。 我有麻烦请求我的后端API,但是,希望你们能帮助我。 后端(NodeJS): app.get('/test', function(req, res) { res.json(200, {'test': 'it works!'}) }) 前端(AngularJS): myApp.controller('myController', function($scope, $http) { delete $httpProvider.defaults.headers.common["X-Requested-With"] $http.get('http://localhost:5000/test').success(function(data) { alert('Success') }).error(function(data, status) { alert('Error! ' + status + ' : ' + data) }) }) 当我刷新应用程序,我得到一个警告说: Error! 0 : Error! 0 :但是,当我通过curl或浏览器请求后端时,我会得到testing代码。 虽然前端似乎能够访问后端,因为我看到它在我的后端日志中,它已经完成了一个请求,并返回一些东西,但萤火虫说,响应是空的,我该怎么办? 非常感谢,让我知道如果你需要我的更多信息。 马蒂亚斯

在Require.js优化器中打包* .html模板?

如何将一个Angular.js应用程序中的HTML模板(又名“partials”)封装在一起,然后将它们连接在一起进行分发? 有没有一种很好的方法将它们包含在单个文件中,还是应该压缩包含main.js ,/ /templates/*.html / /styles/app.css . /templates/*.html和/styles/app.css子目录的文件夹? Require.js优化器将所有JS文件压缩到适合分发的单个文件myapp.min.js ,但HTML文件仍被引用为单个文件。 作为背景,代码位于Node.js服务器中: public/ /app/main.js /app/app.js /app/directives/*.js /app/filters/*.js /app/factories/*.js /app/other/*.js /app/templates/*.html 在运行r.js之后, public/app/**所有文件都对位于不同目录public/build/**双胞胎进行了优化。 但浏览器仍然会在原始位置/app/templates/*.html查找模板。 所以推测客户可能不得不把它们放在同一个目录中,这看起来是不公平的限制。 将RequireJS Javascript codebase最小化为单个文件