304 и нет ответа json на развернутое приложение на Heroku - PullRequest
0 голосов
/ 01 ноября 2019

Я работаю над проектом React + Express + mongo.

Все работает локально, но когда я развернул проект на heroku.com, возникла проблема с запросами GET.

Возвращает 304 и вместо тела JSON я получаю эту ошибку:

Чтобы запустить это приложение, вам нужно включить JavaScript.

Вместо ответа json я получаю ответ HTML с этой информацией о JS. В теле я должен получить нормальные данные JSON, которые я отображаю на странице. Я напишу снова, все работает локально (я получаю ответ 200 и json), я не знаю, что происходит с этой героей.

Я думал, что проблема в коде 304, поэтому я использовал промежуточное ПО, которое отключает кэш(без кеша), результат 200, но тела до сих пор нет.

ЗАПРОС В СЕТИ ХРОМОВ

GENERAL:
Request URL: MYURL.com/...
Request Method: GET
Status Code: 200 OK
Remote Address: 34.255.19.16:443
Referrer Policy: no-referrer-when-downgrade

RESPONSE HEADERS::
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Cache-Control: no-store, no-cache, must-revalidate, proxy-revalidate
Connection: keep-alive
Content-Length: 2366
Content-Type: text/html; charset=UTF-8
Date: Fri, 01 Nov 2019 13:54:09 GMT
Etag: W/"93e-16e271de930"
Expires: 0
Last-Modified: Fri, 01 Nov 2019 13:18:22 GMT
Pragma: no-cache
Server: Cowboy
Surrogate-Control: no-store
Via: 1.1 vegur
X-Powered-By: Express

REQUEST HEADERS:
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: pl-PL,pl;q=0.9,en-US;q=0.8,en;q=0.7
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkYTZkNjZhYTExYWI5MTM3MDU1MTY2OCIsIm5hbWUiOiJGaWxpcCIsImlhdCI6MTU3MjYxNjQ0MiwiZXhwIjoxNTcyNjIwMDQyfQ.c4uPda0njISa3VWNX0kK5cPRVW2X6A3wBNnt5hc5N-k
Connection: keep-alive
Content-Type: application/json
Cookie: AUTHORIZATION_JWT=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVkYTZkNjZhYTExYWI5MTM3MDU1MTY2OCIsIm5hbWUiOiJGaWxpcCIsImlhdCI6MTU3MjYxNjQ0MiwiZXhwIjoxNTcyNjIwMDQyfQ.c4uPda0njISa3VWNX0kK5cPRVW2X6A3wBNnt5hc5N-k
Host: dashboard-pwa.herokuapp.com
Referer: https://dashboard-pwa.herokuapp.com/tickets/show/5dbb2310f67d543c84053a79
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36

Я хочу получить 200 с откликом тела JSON.

1 Ответ

0 голосов
/ 01 ноября 2019

Адам Тропп, спасибо! Это мне очень помогло. Оказывается, что я перенаправил на клиентский index.html в неправильном месте, он должен быть помещен после объявления маршрутов, а не до (как я делал раньше).

file server.js:

app.use('/api/user', require('./routes/user'));

// For any request that doesn't
// match one above, send back React's index.html file.
app.get('*', (req, res) => {
  res.sendFile(path.join(__dirname+'/client/build/index.html'));
});

Спасибо, еще раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...