Android(Ionic Framework)app ajax调用代码
$scope.scanqr = function () {
cordova.plugins.barcodeScanner.scan(
function (result) {
$http({
url:'http://localhost:3000/',
method:'POST',
data:{
//qr code result.text
unique: result.text
}
})
.success(function () {
alert("Authenticated in WebApp");
});
},
function (error) {
alert("Scanning failed.Try Again");
}
);
};
在http://localhost:3000/上运行的服务器代码这是我收到请求并处理它的路由。
router.post('/', function(req, res) {
if (req.headers.authorization && req.body.unique) {
Code.findOne({
unique:req.body.unique
}, function (err,code) {
if(code){
var query = Code.remove({unique: req.body.unique});
query.exec();
var token = req.headers.authorization;
req.session.token = token;
res.cookie('auth',token);
res.redirect('/dashboard');
}else{
res.redirect('/');
}
})
}
});
我知道重定向不会发生,因为请求是由电话而不是浏览器发出的。有没有办法重定向浏览器?
我通过发出令牌并将其保存在浏览器本地存储中来尝试 socket.io 。但缺点是我将令牌发送给所有人。如果使用webapp打开了多个浏览器,则所有窗口都经过身份验证,我也无法发送到特定的浏览器,因为我不知道请求者的任何细节。
这个问题是否有任何可能的解决方案?