level 1
oyngxu
楼主
前端AJAX
$.ajax({
type: "GET",
url: "127.0.0.1:3000/item/25642",
success: function (data) {
console.log(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
}
});
nodejs 监控
index.js
var express = require('express');
var router = express.Router();
var item = require('./item.js');
router.get('/item/:id', function (req, res) {
console.log('商品详情页');
res.json( item.getItme(req.params.id) );
});
module.exports = router;
item.js
var request = require('request');
var getItem = function (id, response) {
console.log('获取宝贝');
request('获取宝贝的URL', function (err, res, body) {
if (!err && res.statusCode == 200){
console.log("Got response: " + res.statusCode);
console.log(body);
// 这里可以获取body的值,问题是怎么让这里的值,被 index.js 里的 res.json直接调用?? 因为nodejs是异步,所有当index.js获取返回值时,item.js里的值还没有回调
}
});
console.log('获取完成');
};
我现在的解决办法是把index.js里的res当成值传递到getItem里调用res.json(body); 这样是可以的,但是这样总感觉不好!
问题大概描述: 页面端 ajax获取链接A, 在链接A里调用链接B,把链接B的值返回到ajax, 因为当ajax调用链接A时, 我可能需要在node.js里获取链接B,链接C,链接D的值,然后一起返回!
2015年08月30日 09点08分
1
$.ajax({
type: "GET",
url: "127.0.0.1:3000/item/25642",
success: function (data) {
console.log(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
}
});
nodejs 监控
index.js
var express = require('express');
var router = express.Router();
var item = require('./item.js');
router.get('/item/:id', function (req, res) {
console.log('商品详情页');
res.json( item.getItme(req.params.id) );
});
module.exports = router;
item.js
var request = require('request');
var getItem = function (id, response) {
console.log('获取宝贝');
request('获取宝贝的URL', function (err, res, body) {
if (!err && res.statusCode == 200){
console.log("Got response: " + res.statusCode);
console.log(body);
// 这里可以获取body的值,问题是怎么让这里的值,被 index.js 里的 res.json直接调用?? 因为nodejs是异步,所有当index.js获取返回值时,item.js里的值还没有回调
}
});
console.log('获取完成');
};
我现在的解决办法是把index.js里的res当成值传递到getItem里调用res.json(body); 这样是可以的,但是这样总感觉不好!
问题大概描述: 页面端 ajax获取链接A, 在链接A里调用链接B,把链接B的值返回到ajax, 因为当ajax调用链接A时, 我可能需要在node.js里获取链接B,链接C,链接D的值,然后一起返回!