2013-07-04 6 views
7

Ich versuche, Daten im JSON-Format auf dem Browser anzuzeigen! Anregungen .... Ich habe meine Javascript (js) Code untenNODEJS auf einfache SQL-Abfrage Abruf von der lokalen Datenbank und Anzeige auf lokalem System


gegeben
  1. ich diese einfache Abfrage mit NodeJS auszuführen versuchen aber es dosent kein Passwort zu funktionieren scheint es für das ist
  2. Datenbank
  3. alles, was ich zu tun versuche, ist die Antwort im JSON-Format auf dem lokalen brower geholt aus der mySQL-Datenbank anzuzeigen, die auch auf dem lokale System ist
  4. ich habe eine Datenbank Knoten und Tabelle mit dem Namen Name d Test bereits in lokalen System erstellt hat es nur zwei Felder namens id und Inhalt

var http = require('http'), 
    mysql = require("mysql"); 

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

http.createServer(function (request, response) 
{ 
    request.on('end', function() 
    { 
     connection.query('SELECT id, content FROM test WHERE id IN (?, ?)',[1, 2], function(error, rows, fields) 
     { 
     response.writeHead(200); 

     response.end(JSON.stringify(rows)); 
     }); 
    }); 

}).listen(8080); 

mein Problem ist :: NodeJS-Server ausgeführt wird, aber ich bin nicht kann JSON-Daten im Browser anzeigen ... irgendwelche Vorschläge zur Lösung!

Antwort

11

Dies ist eine 100% ist für Ihre Frage funktionierenden Code! !


var http = require('http'); 
var mysql = require('mysql'); 
var connection = mysql.createConnection({ 
    host: 'localhost', 
    user: 'root', 
    database: 'node' 
}); 

console.log('MySQL Connection details '+connection); 

http.createServer(function (request, response) 
{ 
     console.log('Creating the http server'); 
     connection.query('SELECT id, content FROM test WHERE id IN (?,?)',[1, 2], function(err, rows, fields) 
     { 
       console.log('Connection result error '+err); 
       console.log('no of records is '+rows.length); 
       response.writeHead(200, { 'Content-Type': 'application/json'}); 
       response.end(JSON.stringify(rows)); 
       response.end(); 
     }); 

}).listen(8084); 

Ich habe hinzugefügt, auch die Snapshots unter


command prompt where the execution is done below


image1


JSON output seen in the browser below


image2

+1

Sie sind der Knoten-Master – ErasmoOliveira

0

einen Content-Typ im Code hinzufügen:

response.setHeader("Content-Type", "application/json"); 
+0

@ Krampstudio ... Ich habe versucht, aber kein Ergebnis noch andere Lösungen? Der Browser lädt weiter, aber am Ende läuft die Zeit ab! –

+0

Was zeigt "console.log" (JSON.stringify (rows)) an) ''; ? – krampstudio

+0

Dieser einfache Test funktioniert: 'var http = require ('http'); http.createServer (Funktion (Anfrage, Antwort)) { request.on ('Ende', Funktion() { \t \t Antwort.writeHead (200); \t \t response.end ("{'ok': true}"); }); }). Listen (4000); ' – krampstudio

Verwandte Themen