2013-02-01 109 views
0

我寫了一個Node.js的頁面抓取從輕彈API的一些數據,然後將其插入到數據庫中的數據。JSON請求失敗拉

代碼工作完美地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! 
    }) 
}); 

我還通過在網絡瀏覽器相同的測試請求數據 - 在photos.photo元素絕對應該填入驗證數據。

是否有一個原因這可能發生,比如我的思念Windows上的庫或插件?或者內存可能會影響到這一點?

+2

你確定你想分享的計算器您的API密鑰? – jsalonen

+0

「JSON.parse」上方行中的'* /'只是一個錯字? – JohnnyHK

+0

@ jsalonen-那是在他們的演示材料使用的公鑰,而不是真正的關鍵! – user101289

回答

0

正如評論所指出的JohnnyHK,隨機頁面被追加到API的URL正請求將超出範圍的API頁面。不是返回一個錯誤(如404或沒有頁面存在的東西),API返回一個空的照片數組。