我有以下教程如何从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) ;
}
}
});
在控制台中,查询正常加载,但是当我尝试发送回用户请求时,它没有任何价值。
我的问题是,为什么我不能发回给用户请求?
答案 0 :(得分:0)
您不应该需要var obja = JSON.parse(data);
,因为jQuery已经设置dataType: 'json'
已经解析了它。
同样基于您显示的代码obja
是Array
所以代替此:
var items = Object.keys(obja);
items.forEach(function(item) {
alert(obja[item].field1);
});
这样做:
obja.forEach(function(row){
alert(row.field1);
});