@ivan_ivanov_ivanych

Почему не происходит соединение с сервером node.js?

Добрый день!
Пишу приложение на React/redux, с использованием базы данных на postrgess heroku - блок с комментариями.
Почему-то React не соединяется с моим сервером в node. При get запросе возвращает просто html- текст

файл server.js, с него и запускается приложение
const express = require('express');
const path = require('path');

const port = process.env.PORT || 8080;
const merchant_model = require('./merchant_model')

const app = express();

app.use(express.static(__dirname));
app.use(express.static(path.join(__dirname, 'build')));
app.use(express.json())
app.use(function (req, res, next) {
  res.setHeader('Access-Control-Allow-Origin', 'http://localhost:8080');
  res.setHeader('Access-Control-Allow-Methods', 'GET,POST,PUT,DELETE,OPTIONS');
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Access-Control-Allow-Headers');
  next();
});

app.get('/', function (req, res) {
  merchant_model.getMerchants()
   .then(responce => {
     res.status(200).send(responce)
     console.log(responce);
   })
   .catch(err => {
     res.status(500).send(err)
   })
});


merchant_model.js
const { Client } = require('pg');
require('dotenv').config();


const client = new Client({
    connectionString: process.env.DATABASE_URL,
    ssl: {
      rejectUnauthorized: false
    }
});

const getMerchants = () => {
  return new Promise(function(resolve, reject) {
    client.query('SELECT * FROM comments_table', (error, results) => {
      if (error) {
        reject(error)
      }
      resolve(results.rows);
    })
  }) 
}


Кусок кода с get-запросом в React (далее результат должен попадать в глобальный state)
fetch('http://localhost:8080/')
  .then(responce => {
    return responce.text();
  })
  .then(data => {
    console.log(data);  //Выдает html-код в виде обычного текста
  })
  • Вопрос задан
  • 144 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы