7

我正在尝试在浏览器上以 JSON 格式显示数据!任何建议....我在下面给出了我的 javascript (.js) 代码


  1. 我正在尝试使用 nodeJS 执行这个简单的查询,但它似乎不起作用 数据库没有密码
  2. 我要做的就是在本地浏览器上以 JSON 格式显示答案,该浏览器从 mysql 数据库中获取,该数据库也在本地系统上
  3. 我已经在本地系统中创建了一个名为node的数据库和一个名为test的表,它只有两个名为idcontent的字段

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);

我的问题是 :: nodejs 服务器正在运行,但我无法在浏览器上显示 JSON 数据......有关如何解决它的任何建议!

4

2 回答 2

11

这是您问题的 100% 工作代码!!


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);

我什至在下面添加了快照


command prompt where the execution is done below


图像1


JSON output seen in the browser below


图2

于 2013-07-05T09:47:41.217 回答
0

在代码中添加内容类型:

response.setHeader("Content-Type", "application/json");
于 2013-07-04T13:21:40.220 回答