我不知道这是否是Angular概念中的一个或可能做的,但我有一个调用用户信息的服务(name,id,age,...):
.factory('me', function($resource, API_URL, $q) {
return {
getUser: function() {
var deferred = $q.defer();
var url = API_URL + 'api/me';
$resource(url)
.get(function(user) {
deferred.resolve(user);
}, function(response) {
deferred.reject(response);
});
return deferred.promise;
}
};
})
Run Code Online (Sandbox Code Playgroud)
我在很多地方使用这项服务controllers来获取user数据并使用它与其他http电话一起发送.例如在我的newItemCtrl
.controller('newItemCtrl', function($scope, $http, API_URL, me) {
Run Code Online (Sandbox Code Playgroud)
我me在许多其他控制器中调用了该服务
我想知道有没有办法只调用一次这个服务,并在所有控制器中使用它,而不是在每个控制器中使用x次
我有一个简单的客户端,将数据发送到服务器,服务器将数据保存到 mongoDB 中。
当我将数据发送到发布请求时,我在正文中找到了数据,但在保存此数据的过程中,我收到内部服务器错误。
注意:我使用 mongoLab 托管我的 mongoDB
这是我在服务器控制台上得到的。
App listeining on 3000
{ email: 'm.email@gmail.com', password: '123456' }
TypeError: object is not a function
index.js:25:16
Run Code Online (Sandbox Code Playgroud)
这是我的服务器的代码:
var express = require('express');
var bodyParser = require('body-Parser');
var mongoose = require('mongoose');
var app = express();
app.use(bodyParser.json());
// set up CORS resource sharing
app.use(function(req, res, next){
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
next();
})
//the User Model.
var User = mongoose.model('User',{
email: String,
password: String
})
app.post('/register', function(req, res){
var user = …Run Code Online (Sandbox Code Playgroud)