0

我编写了一个 node.js 页面来从 flick API 中获取一些数据,然后将其插入到数据库中。

该代码在 linux 上完美运行——但是当我将它移到运行最新版本 node.js 的 Windows 机器上时,似乎数据解析不正确。

var options = {
  host: 'api.flickr.com',
  port: 80,
  path: '/services/rest/?method=flickr.photos.search&api_key=aa96a1b927fbf005374eb19d811ed529&tags=cars&format=json&nojsoncallback=1&page='+page
};          

http.get(options, function(res){        
    var data = '';
    res.on('data', function (chunk){        
        data += chunk;
    });
    res.on('end',function(){ 
        var obj = JSON.parse(data);
        console.dir(obj.photos.photo); // empty array on Windows, fine on linux!
    })
});

我还通过在 Web 浏览器中针对相同数据发出测试请求来验证数据——该photos.photo元素肯定应该被填充。

发生这种情况是否有原因,例如我在 Windows 上缺少库或插件?或者记忆会影响这个吗?

4

1 回答 1

0

正如 JohnnyHK 在评论中指出的那样,附加到 API url 的随机页面正在请求超出 API 范围的页面。API 不会返回错误(例如 404 或不存在页面),而是返回一个空的照片数组。

于 2013-02-02T23:02:02.797 回答