1

次のチュートリアルで値を要求しnode js、要求されたが成功しなかったユーザーに値を返す方法があります。

ここに私のJavaScriptコード..

put('id','coment',function(data) { 
        var obja = JSON.parse(data);
        var items = Object.keys(obja);
        items.forEach(function(item) {  
            alert(obja[item].field1); //its no result value     
        });                         
})
function put(id, data, callback) { //call from here to nodejs
        $.ajax('http://localhost:8000/' + id + '/', {
            type: 'POST',
            data: JSON.stringify(data),
            dataType: 'json',
            success: function(data) { if ( callback ) callback(data); },
            error  : function() { if ( callback ) callback(false); }
        });
    }

そしてここに私のnodejs

connection.query("SELECT field1,field2,field3 from table", function(e, row) {
                    if(e)
                    {
                        console.log('An error occured: '+e)
                    }
                    else
                    {
                        try{                        
                            res.write(JSON.stringify(row));  //send value back to user requested
                            res.end();
                        }catch(ex){
                            console.log('errror' + ex) ;
                        }
                    }
}); 

コンソールでは、クエリは正常に読み込まれましたが、リクエストされたユーザーに送り返そうとすると、値が取得されません。

私の問題は、要求されたユーザーに返送できないのはなぜですか?

4

1 に答える 1

0

var obja = JSON.parse(data);設定されているため、jQueryによってすでに解析されているため、必要ありませんdataType: 'json'

また、あなたが示したコードに基づいてobjaArrayこれの代わりにそうです:

var items = Object.keys(obja);
items.forEach(function(item) {  
    alert(obja[item].field1);
});

これを行うだけです:

obja.forEach(function(row){  
    alert(row.field1);
});
于 2013-05-15T01:41:12.917 に答える