我有一个简单的服务器,例如:
/ ****服务器****** /
const express = require('express'),
request = require('request'),
parser = require('xml2json'),
app = express();
app.set('trig', {'name':false, 'date':false});
app.set('port', 3000);
app.use('/api/login', require('./routes/_login.js'));
app.use('/api/tasks', require('./routes/_tasks.js'));
app.get('/api', (req, res) => {
res.sendfile("index.html");
});
app.listen(app.get('port'), () => {});
// end
运行: app.use('/ api / tasks',require('./ routes / _tasks.js'));我必须设置触发-默认情况下,它的elementa为false 为此,我需要运行: app.use('/ api / login',require('./ routes / _login.js'));
如何在任务中运行登录路由?
/ ******** _login.js ******** /
var express = require('express'),
request = require('request'),
parser = require('xml2json'),
router = express.Router();
var url = 'http://url';
router.get('/', function(req, res){
var app = req.app;
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress || req.socket.remoteAddress || (req.connection.socket ? req.connection.socket.remoteAddress : null);
var xml = `<xml><User="*****" Password="*****"/></xml>`;
var options = {
url: url,
method: "POST",
headers: {
"Content-Type": "application/xml",
"x-forwarded-for": ip,
"Content-Length": Buffer.byteLength(xml)
}, body: xml
};
request(options, function(error, response, body) {
if (!error && response.statusCode == 200) {
var json = parser.toJson(body);
json = JSON.parse(json);
var name= json.xml.res['trig'];
var date = new Date();
app.set('trig',{'name':name, 'date':date.setDate(date.getDate())});
res.end();
}else{
res.send(error);
}
});
});
module.exports = router;
/ ******* _tasks.js ********* /
我需要将task.name传递到需要发送的xml中
我这样做:
现在我可以阅读它了,我需要做的只是检查它是否为假
var app = req.app;
var tasks = app.get('tasks');
if(!tasks.name){
app.use('/api/login', require('./_login.js'));
}
这不起作用
var express = require('express'),
request = require('request'),
parser = require('xml2json'),
router = express.Router();
router.get('/', function(req, res){
var app = req.app;
var tasks = app.get('tasks');
if(!tasks.name){
app.use('/api/login', require('./_login.js'));
}
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress || req.socket.remoteAddress || (req.connection.socket ? req.connection.socket.remoteAddress : null);
var url = 'http://url';
var xml = `<xml type="tasks" trig="${task.name}"/>`;
var options = {
url: url,
method: "POST",
headers: {
"Content-Type": "application/xml",
"x-forwarded-for": ip,
"Content-Length": Buffer.byteLength(xml)
}, body: xml
};
request(options, function(error, response, body) {
if (!error && response.statusCode == 200) {
var json = parser.toJson(body);
json = JSON.parse(json);
res.jsonp(json);
res.end();
}else{
res.send(error);
}
});
});
module.exports = router;
请给我一个提示,以使其正确 谢谢