router.post('/my_single_article', function(req, res, next) {
var request = require('./utils/cookie-request').init(req,global.host);
request.post(global.config.api('my_single_article'),
{
form: req.body,
json:false
},
function(error, response, body){
var result = JSON.parse(body);
console.log(result+'12324');
console.log(global.host);
res.render('tpl/my_single_article_list',
{
page:result.data,
});
}
);
});
var request = require('./utils/cookie-request').init(req,global.host);
var request = require('request');
var format = require("string-template");
exports.init = function(req, domain){
// 保持与请求接口的session一致
var url = domain || "http://album.laifuzi.cn";
var j = request.jar();
if(req && req.cookies) {
for(x in req.cookies){
var cookie = request.cookie(format('{0}={1}', x, req.cookies[x]));
j.setCookie(cookie, url);
}
}
return request.defaults({jar:j});
};
天蓬老师2017-05-16 13:33:20
var cookie = request.cookie(format('{0}={1}', x, req.cookies[x]));
Don’t you understand this paragraph? format('{0}={1}={2}',1,2,3)
=> 1=2=3
, just formatting
某草草2017-05-16 13:33:20
var request = require('./utils/cookie-request').init(req,global.host);
// 等价于:
var request = require('./utils/cookie-request');
request.init(req,global.host);
// req和global.host是cookie-request中init的两个参数,req=>req ,global.host=>domain
exports.init = function(req, domain){
// 保持与请求接口的session一致
var url = domain || "http://album.laifuzi.cn";
var j = request.jar();
if(req && req.cookies) {
for(x in req.cookies){
var cookie = request.cookie(format('{0}={1}', x, req.cookies[x]));
j.setCookie(cookie, url);
}
}
return request.defaults({jar:j});
};
高洛峰2017-05-16 13:33:20
var request = require('./utils/cookie-request').init(req,global.host);
// 等价于:
var request = require('./utils/cookie-request');
request = request.init(req,global.host);
// exports作为commonJS的一种用法,从而可以在别的文件中require这个方法
exports.init = function(req, domain){
// 保持与请求接口的session一致
var url = domain || "http://album.laifuzi.cn";
var j = request.jar();
//存在req,并且req里面存在cookies
if(req && req.cookies) {
遍历req.cookies的属性
for(x in req.cookies){
// 这个就是format,楼上说得都没错,cookie的形式一般就是key=value
var cookie = request.cookie(format('{0}={1}', x, req.cookies[x]));
j.setCookie(cookie, url);
}
}
return request.defaults({jar:j});
};