Добрый день!
Пишу приложение на 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-код в виде обычного текста
})