小编Jak*_*kub的帖子

成功登录后,将用户数据从Nodejs服务器推送到Angular

我尝试使用PassportJS通过Facebook登录我的用户并将用户数据传递给Angular.在服务器端,使用以下用户控制器中的Facebook回调代码看起来一切正常:

exports.facebookCallback = function() {
return function(req, res, next) {
    passport.authenticate('facebook', function(err, user, email) {
        if (err || !user) {
            return res.redirect('/auth');
        }
        req.login(user, function(err) {
            if (err) {
                return res.redirect('/auth');
            }
            return res.redirect('/');
        });
    })(req, res, next);
 };
};
Run Code Online (Sandbox Code Playgroud)

根据我对PassportJS文档的理解,调用req.login应该将用户数据放入会话中.

我在服务器端的路线如下:

app.get('/auth', usersCtrl.auth);
app.get('/auth/signout', usersCtrl.logout);
app.get('/auth/facebook', passport.authenticate('facebook', {
    scope: ['email', 'user_hometown']
}));
app.get('/auth/facebook/callback', usersCtrl.facebookCallback());
Run Code Online (Sandbox Code Playgroud)

快递和护照配置包括:

app.use(express.cookieParser());
app.use(express.session({secret: '1234567890QWERTY'}));
app.use(express.bodyParser());
app.use(passport.initialize());
app.use(passport.session());
Run Code Online (Sandbox Code Playgroud)

现在在角度方面,我尝试从如下定义的服务中获取会话中的用户数据:

module.exports = require('angular')
.module('HomeModule', [])
.controller('HomeCtrl', function ($scope) {
       //home controller code ors here
}).controller('NavbarCtrl', ['$scope', 'Authentication', …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express angularjs passport.js

6
推荐指数
1
解决办法
3499
查看次数

我需要保留自动释放的对象吗?

我正在使用 ASIHTTPRequest 库,我想确定从内存管理的角度来看我是否以一种好的方式使用它。我创造:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:someUrl];
Run Code Online (Sandbox Code Playgroud)

我想根据命名约定我不必保留请求对象,对吗?但是当我查看 requestWithURL:someUrl 方法的代码时,我可以看到:

+ (id)requestWithURL:(NSURL *)newURL
{
return [[[self alloc] initWithURL:newURL] autorelease];
}
Run Code Online (Sandbox Code Playgroud)

所以返回的对象是自动释放的。我不应该在我的代码中保留它吗?

iphone memory-management asihttprequest

5
推荐指数
2
解决办法
2426
查看次数

在基本的Express.js应用程序中"无法查找视图"

我正在尝试学习Express.js,所以我创建了简单的Express应用程序.app.js看起来如下:

var express = require('express'); 
var app = express();

app.configure(function(){
    app.set('view engine', 'jade'); 
    app.set('views', __dirname);
});

app.get('/', function(req, res){ 
    res.render("index");
});

app.listen(8080);
Run Code Online (Sandbox Code Playgroud)

我的文件夹结构如下: 在此输入图像描述

但是,当我指向浏览器时,http://localhost:8080我得到以下输出:

Error: Failed to lookup view "index"
at Function.app.render (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/lib/application.js:492:17)
at ServerResponse.res.render (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/lib/response.js:721:7)
at /Users/kuba/Documents/ws_javascript/express_spike/app.js:10:6
at callbacks (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/lib/router/index.js:161:37)
at param (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/lib/router/index.js:135:11)
at pass (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/lib/router/index.js:142:5)
at Router._dispatch (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/lib/router/index.js:170:5)
at Object.router (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/lib/router/index.js:33:10)
at next (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/node_modules/connect/lib/proto.js:199:15)
at Object.expressInit [as handle] (/Users/kuba/Documents/ws_javascript/express_spike/node_modules/express/lib/middleware.js:31:5)
Run Code Online (Sandbox Code Playgroud)

我已经检查过,文件的权限还可以.任何想法为什么快递找不到我的index.jade文件?

javascript node.js express pug

4
推荐指数
1
解决办法
2万
查看次数

在angular-ui bootstrap中设置datepicker的选项

我试图使用从角UI引导LIB日期选择器组件作为这里descibed:http://angular-ui.github.io/bootstrap/ 我尝试设置选项,在弹出的选择器和accoriding到我应该通过文档使用datepicker-options属性将datepicker选项作为JSON.

在我看来,我有:

        <div class="row">
        <div class="col-md-6">
            <p class="input-group">
                <input type="text" class="form-control" datepicker-popup="{{format}}" ng-model="dt" is-open="opened" min="minDate" max="'2015-06-22'" datepicker-options="dateOptions" date-disabled="disabled(date, mode)" ng-required="true" close-text="Close" />
                <span class="input-group-btn">
                <button class="btn btn-default" ng-click="open($event)"><i class="glyphicon glyphicon-calendar"></i></button>
          </span>
            </p>
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我有:

    $scope.dateOptions = {'show-button-bar': 'false', 'close-text':'SomeText'};

    $scope.today = function() {
        $scope.dt = new Date();
    };
    $scope.today();

    $scope.showWeeks = false;

    $scope.clear = function () {
        $scope.dt = null;
    };

    $scope.toggleMin = function() {
        $scope.minDate = ( $scope.minDate ) ? null : new Date();
    };
    $scope.toggleMin(); …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angular-ui angular-ui-bootstrap

4
推荐指数
4
解决办法
4万
查看次数

Nock-如何模拟二进制响应

我正在编写与PayPal经典API交互的代码。交互的第一部分是向PayPal发送请求并从中获取令牌。为此,我使用简单的https请求:

function makePayPalRequestForToken(options, callback) {

var requestOptions = {
    host: config.paypal.endpoint,
    path: '/nvp?' + qs.stringify(options),
    method: 'GET'
};
var req = https.get(requestOptions, function(res) {
    var data = '';

    res.on('data', function(chunk) {
      data = data + chunk;
    });

    res.on('end', function() {
      callback(null, data);
    });
});

req.on('error', function(e) {
    callback(e);
});
Run Code Online (Sandbox Code Playgroud)

}

它在PayPal沙箱中可以正常工作,但是,现在我想对代码进行单元测试,而且我不知道如何模拟从PayPal获得的响应。

我检查了来自PayPal的行响应是否如下:

<Buffer 54 4f 4b 45 4e 3d 45 43 25 32 64 35 44 53 33 38 35 31 37 4e 4e 36 36 37 34 37 33 …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing paypal node.js nock

4
推荐指数
1
解决办法
1705
查看次数

类字段在子类中具有不同值的最佳实践

我有一些抽象类,在其中一个方法中我使用了一个字符串字段,该字段应该是特定于子类的.我想知道实现这个的实践是什么?通过字段并在子类的consructors中设置字段值?通过静态字段并更改每个子类中的值?

你会建议什么?

java

3
推荐指数
2
解决办法
1326
查看次数

更新应用后,图标不会更改

我创建了一个新版本的iPhone应用程序.我想更改图标,所以:

  • 我将不同大小的图标添加到XCode中Project的Resources文件夹中:

替代文字

  • 我在info.plist文件中指定了图标文件:

替代文字

  • 在iTunes Connect中我添加了我的应用程序的新版本,并用新的替换旧图标.登录iTunes Connect后,现在可以看到新图标.

效果:

  • 当我在模拟器上运行我的应用程序时,我可以看到新图标.

  • 当我在Mac上使用iTunes访问AppStore时,我可以看到新图标.

  • 当我在iPhone上访问AppStore时,我可以看到OLD图标.

  • 将应用程序升级到新版本后,我可以在iPhone上看到OLD图标.

任何想法为什么旧图标在某些地方仍然可见?

亲切的问候,Jakub

iphone xcode itunes app-store

3
推荐指数
1
解决办法
2598
查看次数

将数组转换为列表

我有以下代码片段:

public void doSomething() {
  float array[] = new float[2];
  array[0] = (float) 0.0;
  array[1] = (float) 1.2;
  someMethod(array);
}

public void someMethod(Object value) {
   //need to convert value to List<Float>
}
Run Code Online (Sandbox Code Playgroud)

正如您在上面所看到的,我想将值变量(即数组(但作为Object传递))转换为List.我尝试了以下建议:从数组创建ArrayList

    new ArrayList<Float> (Arrays.asList(value));
Run Code Online (Sandbox Code Playgroud)

但是,它没有编译.

任何提示?

java arrays collections

3
推荐指数
1
解决办法
3473
查看次数

Mongoose:更新文档时,转换为日期失败

我在我的项目中使用Mongoose,并在其中一个模式中使用Date字段,如下所示:

reservationDay: {
        type: Date,
        default: Date.now
}
Run Code Online (Sandbox Code Playgroud)

我可以使用此字段创建文档而不会出现问题.当我在创建它之后的console.log时,我得到:

reservationDay:  Thu Nov 20 2014 04:45:00 GMT+0100 (CET)
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试更新此文档时,即使不更改reservationDay字段,也会出现问题.这是我收到的错误消息:

name: 'CastError',
  message: 'Cast to date failed for value "20/11/2014 04:11" at path "reservationDay"' } CastError: Cast to date failed for value "20/11/2014 04:11" at path "reservationDay"
Run Code Online (Sandbox Code Playgroud)

以下是我在服务器端更新此文档的方法:

Reservation.findOne({ _id: id }).exec(function(err, reservation) {
                        if (err) {
                            //handle
                        }
                        if (!reservation) {
                            //handle
                        }
                        reservation = extend(reservation, req.body);
                        reservation.save(function(err, updatedReservation) {
                            if (err) {
                                //handle
                            }
                            return res.json(reservation);
                        });
                    });
Run Code Online (Sandbox Code Playgroud)

并且req.body中的日期没有改变.

什么可能导致此错误的想法? …

javascript mongoose mongodb node.js

3
推荐指数
1
解决办法
2万
查看次数

当内容中包含.com时,链接在<a href>标记中不起作用

在我的代码中,我生成了一个HTML电子邮件的正文.部分内容如下:

<a href="mylink.pl">SomeName.com</a>
Run Code Online (Sandbox Code Playgroud)

当我在我的邮件客户端或Gmail中收到此电子邮件时,当我点击我指向的链接时,SomeName.com而不是指向标签mylink.pl的href部分中的链接<a>.并且看起来这种情况仅发生在.com域中.

我有什么想法可以解决这个问题吗?

html email html-email

2
推荐指数
1
解决办法
3538
查看次数