2

http.get から JSON 本文を解析しようとしています。私は正常に評価できるので、JSOnオブジェクトが有効であることを知っています:

var json = document.body.innerText; 
obj = JSON.parse(json);

ただし、このコードはエラーを返します。

undefined:1
undefined{
Syntax error, Unexpected token u

私のノードコード:

function getCategories(callback){
    var body;
    var urlCats = "http://...";
    process.send(urlCats);
    http.get(urlCats, function(res){
        res.on('data', function (chunk) {
            body += chunk;
        });
        res.on('end', function () {
            callback(JSON.parse(body));
        });
    })
}

Calling a JSON API with Node.jsは既に見ましたが、既に本体を適切に取得しているため、当てはまらないと思います (オブジェクトは : undefined{ で始まりますが、callback(body) は OK を出力します)。助言がありますか?ボディ文字列の「未定義」部分をカットする必要がありますか? 私が見逃しているものがあるに違いない!ありがとう!

4

1 に答える 1

4

問題はあなたです


 var body;
 ...
 body += chunk;

body は宣言されていますが、値は「未定義」です。

最初の body += "something" は body = undefined + "something" に変換されます。

変化


 var body;


 var body = "";

問題を解決する必要があります。

お役に立てれば、

于 2013-11-11T19:03:31.883 に答える