我正在使用express.js为this api提交搜索查询。返回一个json对象。它包含一个指向api网站的图片网址。尝试获取图像时,将返回403 forbidden。
以下是url的示例。它显示带有“拒绝访问”消息的XML错误。也许我不知何故需要在网址中包含我的api密钥才能访问?如果是这样,我该怎么做?
这是我的代码:
var str = '';
var ingredients = null;
router.post('/', function(req,res){
ingredients = req.body.ingredients; //get value of an <input> named 'ingredients'
var callback = function(response){
str = '';
//another chunk of data has been recieved, so append it to `str`
response.on('data', function (chunk) {
str += chunk;
});
//the whole response has been recieved
response.on('end', function () {
var recipes = JSON.parse(str); //parse string to json
res.render('home', {recipes: recipes}); //render view with required object
});
}
var options = {
host: "food2fork.com",
path: "/api/search?key=[myKey]&q=" + ingredients
};
if(ingredients != null)
{
http.request(options,callback).end();
ingredients = null;
}
});
使用过的代码格式nodejitsu。
答案 0 :(得分:0)
原来我错误地输入了一个HTML把手图片元素:
<img src={{image_url}}/>
而不是
<img src={{image_url}} />
增加了额外的&#34; /&#34;在网址的末尾并导致了问题。