2016-03-24 17 views
0

Aşağıdaki kodda, veriler bir veritabanından JSON'a alınır. Ben şu var res.write(JSON.stringify(rows)); kullanarak verileri yazdırırkenDüğüm JS: Alınan verileri DBON olarak Düz metin olarak dönüştürün

var http = require("http"); 
var mysql = require('mysql'); 
var express = require('express'); 
var app = express(); 
var bodyParser = require('body-parser'); 

var urlencodedParser = bodyParser.urlencoded({ extended: false }) 

    app.use(express.static('public')); 

    app.get('/Search.html', function (req, res) { 
     res.sendFile(__dirname + "/" + "Search.html"); 
    }) 

    var connection = mysql.createConnection(
    { 
     host  : 'localhost', 
     user  : 'root', 
     password : 'passpass', 
     database : 'SocialQuery', 
    } 
    ); 

connection.connect(); 

app.post('/process_post', urlencodedParser, function (req, res) { 

    // Prepare output in JSON format 
    response = { 
     SearchType:req.body.SearchTypes, 
     Term:req.body.term 
    }; 
    //var vas = JSON.stringify(response); 
    var search = req.body.SearchTypes; 
    var term = req.body.term; 

    var queryString; 
    if(search == 'Author') 
    { 
     queryString = 'Select Label,TDate from Tweet where AuthorID IN (select ID from Author where Lable = ?)'; 
    } 
    else if(search == 'Mention') 
    { 
     queryString = 'select Tweet.Label, Tweet.TDate, Author.Lable from Tweet, Author where Tweet.ID IN (select TweetID from TweetMention where MentionID IN (select ID from Mention where Label = ?)) AND Author.ID = Tweet.AuthorID' 
    } 
    var query = connection.query(queryString, [term], function(err, rows) { 
     console.log(rows); 
     var tweet = JSON.stringify(rows); 
     res.write("Author: " + tweet.Lable); 
     res.write("Date: " + tweet.TDate); 
     res.end(); 
    }); 
    console.log(query.sql); 
}) 

//}).listen(8081); 
http.createServer(app).listen(8081); 
console.log('Server running at http://127.0.0.1:8081/'); 

: Ne yapmak istediğim bir düz metin olarak her bir veri göstermektir

[{"Label":"lest play hero","TDate":"2016-03-12T00:00:00.000Z","Lable":"esti_jony"},{"Label":"u r the best ! Ill always keep","TDate":"2016-03-08T00:00:00.000Z","Lable":"adam03cooper03"}] 

ama yukarıdaki kodu çalıştırdığınızda Ben var: iki veri satırlar alınana ve bunu her yazar (etikel) ve her tarih (TDate) görüntülemesine izin nasıl bilmiyorum çünkü anladım ne

Author: undefined Date: undefined 

sorundur.

cevap

1

Bir javascript nesnesini bir JSON dizesine dönüştürüyorsunuz ve sonra dizideki javascript nesnesinin özelliklerine erişmeye çalışıyorsunuz. Bu işe yaramaz. Bunun yerine javascript nesnesini kullanmak istiyorsunuz, ancak birden fazla satır olduğu için, hangisini yanıtlamak istediğinizi veya tüm satırları yazmak istediğinizi veya kullanım durumunuz ne olursa olsun seçmek zorunda kalacaksınız. Örneğin

:

var query = connection.query(queryString, [term], function(err, rows) { 
    if (err) throw err; 
    for (var i = 0; i < rows.length; ++i) { 
     var tweet = rows[i]; 
     res.write("\nAuthor: " + tweet.Lable); 
     res.write("\nDate: " + tweet.TDate); 
     if (i + 1 < rows.length) 
     res.write('\n'); 
    } 
    res.end(); 
}); 
İlgili konular