所以我在我的 API 中有这个:
router.get('/assetName', function(req, res, next){
//Get the token from the cookies
var token = req.cookies.access_token;
//Check it with the config secret
if(jwt.verify(token, config.secret)){
//find from name in the request body
User.find({_id: req.query.id}).then(function(users){
var z;
var name = [];
var assetHolder = users[0].assets;
for(z=0; z < assetHolder.length; z++){
if(assetHolder[z]._id == req.query.vid){
name = assetHolder[z].name;
}
}
console.log(name);
res.send(name);
//Error handling
}).catch((err) => console.error(err));
}else{
res.send("Unauthorized");
}
});
name 变量被打印到控制台,如下所示:
Asset1Name
Asset2Name
我正在使用下面的获取请求:
var vehiclesT = asset.assetIDs;
if(!asset.assetIDs){
vehiclesT = [];
}
var y;
var assets = [];
for(y=0; y< assetsTemp.length; y++){
var url = 'api/assetName/?vid='+assetsTemp[y]+'&id='+id;
fetch(url, {credentials: 'include', method: 'get'}).then(function(data){
console.log(data);
vehicles.push(data);
});
}
但是 temp 被打印为:
Response {type: "basic", url: "http://localhost:4000/api/assetName/?vid=f4ufh49h49fh9fh94fh94hf&id=f484fh48fhfh98fh489fh", redirected: false, status: 200, ok: true…}
所以车辆数组是空的。
为什么会这样,如何使用 fetch(或其他更好的方法)将值打印到 API 中的控制台?
谢谢,埃德。