Connection_refused при попытке использовать MySQL и node.js. При использовании cmd это работает - PullRequest
0 голосов
/ 02 апреля 2020

Я создал сервер. js файл, который выглядит следующим образом.

var express = require('express'),
app = express(),
port = process.env.PORT || 3000;
app.listen(port);
console.log('todo list RESTful API server started on: ' + port)

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "**",
  password: "**",
  database: "test"
});
app.get('/nodeapi/getimg',function(req,res){

    con.connect(function(err) {
        if (err) throw err;
        con.query("SELECT * FROM images", function (err, result, fields) {
          if (err) throw err;
          console.log(result[1].image);;
        });
      })})

Когда я запускаю этот файл в своем командном терминале, я получаю правильный результат.

Когда я создаю такую ​​функцию http.get для моего приложения ioni c:

getimg(){ 
  var url = 'http://localhost:3000/nodeapi/getimg';
  this.http.get(url).subscribe(responseData => console.log(responseData));}

Я получаю сообщение об ошибке net :: ERR_CONNECTION_REFUSED. Я искал повсюду, но не могу найти это. Я использую phpmyadmin для базы данных. Пожалуйста, будьте любезны объяснить мне, что я делаю неправильно.

1 Ответ

0 голосов
/ 03 апреля 2020

Попробуйте этот пример. Кроме того, ожидаете ли вы более одного результата от вашего запроса? Если нет, вы захотите использовать result[0], а не 1, чтобы получить первый (и, возможно, единственный) результат (расположенный в индексе 0).

var express = require('express');
var cors = require('cors');
var mysql = require('mysql');
var port = process.env.PORT || 3000;

var app = express();
app.use(cors());
app.options('*', cors());

var con = mysql.createConnection({
  host: "localhost",
  user: "**",
  password: "**",
  database: "test"
});

app.get('/nodeapi/getimg', function(req, res) {
  con.connect(function(err) {
    if(err) throw err;
    con.query("SELECT * FROM images", function(err, result, fields) {
      if(err) throw err;
      console.log(result[1].image);
      res.send(result[1].image); // send the value back to the caller.
    });
  })
})

app.listen(port, function() {
  console.log('CORS-enabled web server listening on port 80')
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...