Javascript 304,在Heroku上部署的应用程序上没有json响应

Javascript 304,在Heroku上部署的应用程序上没有json响应,javascript,reactjs,express,heroku,Javascript,Reactjs,Express,Heroku,我正在做React+Express+mongo项目 一切都在本地工作,但当我在heroku.com上部署project时,GET请求出现了一个问题 它返回304,而不是主体JSON,我得到以下错误: 要运行此应用程序,需要启用JavaScript 我得到的不是json响应,而是带有JS信息的HTML响应。在body中,我应该得到我在页面上显示的正常JSON数据。 我会再写一次,所有东西都在本地工作(我得到200和json响应),我不知道这个heroku是怎么回事 我认为问题是304代码,所以我使

我正在做React+Express+mongo项目

一切都在本地工作,但当我在heroku.com上部署project时,GET请求出现了一个问题

它返回304,而不是主体JSON,我得到以下错误:

要运行此应用程序,需要启用JavaScript

我得到的不是json响应,而是带有JS信息的HTML响应。在body中,我应该得到我在页面上显示的正常JSON数据。 我会再写一次,所有东西都在本地工作(我得到200和json响应),我不知道这个heroku是怎么回事

我认为问题是304代码,所以我使用了禁用缓存(无缓存)的中间件,结果是200,但仍然没有主体

CHROME网络上的请求

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

我想用JSON body回复获得200。

adam tropp谢谢!这对我帮助很大。事实证明,我重定向到client index.html的位置是错误的,它应该放在路由声明之后,而不是之前(就像我以前做的那样)

文件服务器.js:

app.use('/api/user',require('./routes/user');
//对于任何不符合要求的请求
//匹配上面的一个,发回React的index.html文件。
应用程序获取(“*”,(请求,请求)=>{
res.sendFile(path.join(uu dirname+'/client/build/index.html');
});

再次感谢。

您正在使用create react应用程序吗?如果是,请查看此问题。这可能会有帮助,谢谢,这帮了我很多:)工作了,伙计!!!!谢谢你,伙计!!!!