Я создаю веб-приложение Express / React, которое ссылается на базу данных MSSQL. Когда я запускаю сервер, я получаю код состояния 200, и приложение прекрасно работает. Однако, когда я обновляю страницу, запрос не выполняется, и я получаю код состояния 500. Я считаю, что это проблема с базой данных, потому что все компоненты работают с жестко закодированными данными.
Вот код, который я использую в бэкэнде, и я уверен, что он перехватывает при первой проверке ошибок в блоке mssql.connect. Я удалил свою конфиденциальную информацию, но она не актуальна.
var express = require('express');
var router = express.Router();
var helpers = require('./helperFunctions');
/* GET records. */
router.get('/', function(req, res, next) {
var mssql = require('mssql/msnodesqlv8');
//Set up configuration for MSSQL
const config = {
server: 'irrelevant',
options: {
trustedConnection: true
}
}
//Connect to the DB
mssql.connect(config, function (err) {
if (err) console.log(err);
//Create Request object & query string to isolate assets
var request = new mssql.Request();
var queryRequest = "irrelevant"
//Query to the database and get the records
request.query(queryRequest, function (err, recordset) {
if (err) console.log(err)
//Send recordset as a response, recordset.recordsets[0] is just the isolated
//array of server components.
res.json(helpers.sortData(recordset.recordsets[0]));
});
});
});
module.exports = router;
и это фрагмент компонента реакции, который получает информацию.
componentDidMount() {
/*When this component mounts, retrieve the json data from our express
backend service, and set the state to this data. */
fetch('/users')
.then(res => res.json())
.then(users => this.setState({ users }));
}
Я подозреваю, что это связано с ошибкой соединения с базой данных, но я довольно плохо знаком с webdev, поэтому могу ошибаться. Полученная ошибка указывает на эту строку во втором фрагменте кода:
А вот и ссылка на сообщение об ошибке: https://imgur.com/a/feKGU56