Uncaught SyntaxError: неожиданный токен <для запросов GET в производственном режиме - PullRequest
0 голосов
/ 14 сентября 2018

Я развернул свою программу в Heroku (внутренний сервер Node и React для внешнего интерфейса с помощью create-Reaction-app).Это работает хорошо для запросов POST, но для запросов GET я получаю

Uncaught SyntaxError: неожиданный токен <</p>

У меня есть этот код в app.js для абсолютного путидля папки сборки в папке переднего плана:

let root = path.join(__dirname, 'front-end', 'build'); // (on Heroku ==>  
path.join(__dirname, 'front-end', 'build'); )
app.use(express.static(root));
app.use(function(req, res, next) {
  if (req.method === 'GET' && req.accepts('html') && !req.is('json') &&!req.path.includes('.')) {
      res.sendFile('index.html', { root });
   } else next();
 });

project folder

Как исправить эту часть, чтобы она работала и для запроса GET?

Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 21 октября 2018

Я нашел свой ответ на изменение и добавлю заголовок к моему запросу на выборку также во внешнем интерфейсе, потому что здесь я проверяю

req.method === 'GET'

Итак, я добавил заголовок к запросу:

fetch('/alladmins', { 
     headers: {"Content-Type": "application/json",
                "Accept" : "application/json"}
      })
    .then(data => data.json())
    .then((data) => { this.setState({ arrayOfAdmins: data });
  }
  , 
  function (error) {
    console.error("Error with fetching /alladmins url:", error);
  });

И сейчас он работает, как ни странно, потому что GET не должен нуждаться в этом заголовке, но он работает.

...