Tag: angularjs

从AngularJS客户端发送POST表单数据到Express / Node.js服务器

我正在尝试从AngularJS窗体读取数据并将其发送到Express服务器。 我的客户端function发送数据确实执行,但请求永远不会到达服务器。 我相信url存在问题。 我的AngularJS控制器的相关部分: $scope.loginUser = function() { $scope.statusMsg = 'Sending data to server…'; $http({ url: 'http://##.##.##.##/login.js', // IP address replaced with ##'s method: 'POST', data: user, headers: {'Content-Type': 'application/json'} }) 这确实执行,因为我看到消息从第一行显示。 url是我的Express服务器的绝对path。 这个URL应该是什么? (是否需要指向一些现有的文件?) 我的Express服务器 (相同目录下的login.js )的相关部分: var express = require("express"); var bodyParser = require("body-parser"); var app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); […]

如何设置一个Angular config var来设置服务器地址?

我怎样才能做一些集中的解决scheme来存储stringAngularJS? 我已经问过关于NodeJS的类似问题 ,但我不知道如何使用Angular的相同方法,因为我已经习惯了Node。 我想到了两种方法: 1 – 设置一个angular常量 app.constant('config', { serverUrl: 'http://localhost:8080' }); 这是我的实际解决scheme,但它的缺点是我需要每次将代码发送到云时使用服务器地址更新我的代码。 2 – 使用类似Node的process.env 我不知道如何。 3 – 使用类似require('./ config.js') 我正在考虑类似Node的方法。 不知道如何。 那么,有没有一个好的,有效的方法来完成这个?

如何使用angular-ui模式templateURL和节点/快速路由

我有点困惑,为什么我得到这个错误。 我有一个预感与templateURL,我已经尝试了一些事情,但无济于事。 我已经阅读了文档,并search了一堆SOpost,但没有一个帮助太大。 我想使用Express / Node来提供页面,我有一种感觉,这就是为什么我的templateURL不能在app.js工作。 这是我的index.html与我的控制器和我的模板。 <body ng-app="app" ng-controller="AppCtrl"> <script type="text/ng-template" id="pageContent.html"> <div class="container"> <div class="modal-header"> <h3 class="modal-title">I am a modal!</h3> </div> <div class="modal-body"> <h1>HELLO</h1> </div> <div class="modal-footer"> <button class="btn btn-primary" type="button" ng-click="cancel()">OK</button> <button class="btn btn-warning" type="button" ng-click="cancel()">Cancel</button> </div> </div> </script> <div ng-click="open()"> <!– this is what makes the modal –> <!– rest of […]

Angular / Express:redirect到login后访问的最后一页

这里有一个类似的问题(但不适用)。 在我的SPA中,我使用PassportJS来处理authentication。 我有许多路线,需要用户login。我的路线是这样的: // … other routing stuff when('/insights', { templateUrl: 'partials/insights', controller: 'insightsCtrl', resolve: { loggedin: checkLoggedin } }) var checkLoggedin = function($q, $timeout, $http, $location, $rootScope){ var deferred = $q.defer(); $http.get('/loggedin').success(function(user){ if (user !== '0') { $rootScope.user = user; deferred.resolve(); } else { deferred.reject(); $location.url('/login'); } }); return deferred.promise; }; 我的路线检查是否login: app.get('/loggedin', function(req, […]

控制angularjs ui从外部事件切换

我有一个angularjs材料ui开关。 当外部事件发生时,我想改变它的状态。 这个外部事件是在已发布的主题之一上收到的mqtt消息。 我正在使用在浏览器上运行的node.js mqtt客户端。 <div ng-controller="SWCtrl"> <md-switch ng-model="switch_status.sw1" aria-label="Switch" ng-change="onChange(switch_status.sw1)"> Switch: {{ switch_status.sw1 }} </md-switch> </div> 相应的控制器代码; angular.module('myApp.controllers', []) .controller('SWCtrl', ['$scope', function ($scope, ) { $scope.switch_status = { sw1: true, }; var mqtt_client = mqtt.connect('ws://127.0.0.1:3000'); mqtt_client.subscribe('hello/world'); mqtt_client.on('connect', function () { console.log("MQTT connected"); }); mqtt_client.on("message", function(topic, payload) { console.log([topic, payload].join(": ")); if (topic === "hello/world" […]

使用CORS仍然会产生交叉原点错误

我试图通过使用cors模块angular$http访问节点路由。 我试过一个简单的 app.use(cors()); 但仍然得到错误。 我已经尝试从cors文档中添加一个URL白名单 var corsOptions = { origin: function(origin, callback){ var originIsWhitelisted = whitelist.indexOf(origin) !== -1; callback(null, originIsWhitelisted); } }; app.get('/someroute/:someparam/', cors(corsOptions), function(req, res, next){ mymodule.getData(req.params.someparam, function(err, data){ if (err){ console.log('error with route', err); }else{ res.json({result: data}); } }); }); 但是我仍然得到错误 XMLHttpRequest无法加载localhost:8888 / someroute / undefined。 协议scheme仅支持跨源请求:http,data,chrome,chrome-extension,https,chrome-extension-resource。 我以为使用Cors模块是为了避免这个问题。 我该如何解决?

AngularJS – 视图不会在我的浏览器中呈现?

我正在导航到我在angular度应用程序中设置的路线“/login”。 当我尝试导航到我创build的视图时,使用angular度路由,我只能看到我的页面上的导航栏,而在ng-view内没有任何东西。 在我的chrome控制台的networking选项卡中,它显示视图正在成功请求并发送到客户端,但它不是在视图源中为我呈现。 另外我想指出,我的路线为“/”正在纠正。 控制台中没有错误。 我正在使用NodeJS + ExpressJS作为我的networking服务器。 这是SPA。 另外我正在使用RequireJS进行模块加载。 server.js var express = require('express'), app = express(), path = require('path'), apiRouter = require('./app/routes/api'), mongoose = require('mongoose'), compression = require('compression'); app.use(compression()); app.use(express.static('public')); app.use('/api', apiRouter); app.use('*', function(req, res) { res.sendFile(path.join(__dirname + '/public/index.html')); }); mongoose.connect('mongodb://localhost/triviaattack'); var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function() { //Connected […]

运行npm install -g yo命令给出 – >“npm ERR! Windows_NT 6.1.7601“

npm -v:3.5.3 我是非常新的npm,当我运行npm install -g哟,得到像这样的错误: npm ERR! Windows_NT 6.1.7601 npm ERR! argv“C:\ Program Files \ nodejs \ node.exe”“C:\ Users \ sougata.a \ AppDa ta \ Roaming \ npm \ node_modules \ npm \ bin \ npm-cli.js”“install”“-g” “哟”npm ERR! 节点v5.5.0 npm ERR! npm v3.5.3 npm ERR! pathC:\ Program Files \ nodejs \ node_modules.staging npm ERR! 代码EPERM […]

angularjs发送请求到nodejs api

我已经angularjs后调用(提交login表单数据)到一个/ login nodejs API端点。 在Nodejs端点(在request.body中)接收到的数据不是json格式,但是它具有额外的填充,如下所示:{'{“email”:“a@b.com”,“password”:“aaa”}' :''}这是什么格式? 如何从此对象访问“电子邮件”和/或密码? 客户端代码, login: function(loginData, callback) { $http({ method: 'POST', url: '/api/login', data: loginData, headers: {'Content-Type': 'application/x-www.form-urlencoded'} }).then(function successCallback(response) { }, function errorCallback(response) { }); } 服务器代码: app.post('/login', function(req, res) { console.log('Email:' + req.body.email); //this gives undefined error console.log(req.body); // shows { '{"email": "a@b.com", "password": "aaa"}': ''} } 我错过了什么? 任何帮助表示赞赏。 […]

帆JS + Angular JS:路由

我目前正在学习SailsJS,而我是Angular的用户。 我知道Angular可以和SailsJs毫无问题地共同工作(Sails回来了,Angular是前面的),它可以在我的应用上成功运行。 另一方面,我不确定路由:Angular的路由器必须呈现唯一的视图,而Sails的路由器必须呈现API REST路由? 或者所有路线都是由Angular或Sails生成的? 我使用这个教程,但我很尴尬,Angular处理所有的路由。 问候,