我尝试使用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) 我正在使用 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)
所以返回的对象是自动释放的。我不应该在我的代码中保留它吗?
我正在尝试学习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文件?
我试图使用从角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) 我正在编写与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) 我有一些抽象类,在其中一个方法中我使用了一个字符串字段,该字段应该是特定于子类的.我想知道实现这个的实践是什么?通过字段并在子类的consructors中设置字段值?通过静态字段并更改每个子类中的值?
你会建议什么?
我创建了一个新版本的iPhone应用程序.我想更改图标,所以:


效果:
当我在模拟器上运行我的应用程序时,我可以看到新图标.
当我在Mac上使用iTunes访问AppStore时,我可以看到新图标.
当我在iPhone上访问AppStore时,我可以看到OLD图标.
将应用程序升级到新版本后,我可以在iPhone上看到OLD图标.
任何想法为什么旧图标在某些地方仍然可见?
亲切的问候,Jakub
我有以下代码片段:
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)
但是,它没有编译.
任何提示?
我在我的项目中使用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中的日期没有改变.
什么可能导致此错误的想法? …
在我的代码中,我生成了一个HTML电子邮件的正文.部分内容如下:
<a href="mylink.pl">SomeName.com</a>
Run Code Online (Sandbox Code Playgroud)
当我在我的邮件客户端或Gmail中收到此电子邮件时,当我点击我指向的链接时,SomeName.com而不是指向标签mylink.pl的href部分中的链接<a>.并且看起来这种情况仅发生在.com域中.
我有什么想法可以解决这个问题吗?
javascript ×5
node.js ×4
angularjs ×2
express ×2
iphone ×2
java ×2
angular-ui ×1
app-store ×1
arrays ×1
collections ×1
email ×1
html ×1
html-email ×1
itunes ×1
mongodb ×1
mongoose ×1
nock ×1
passport.js ×1
paypal ×1
pug ×1
unit-testing ×1
xcode ×1