SyntaxError: неожиданный токен <in JSON в позиции 0 с прогоном NodeJs (express) - PullRequest
0 голосов
/ 22 января 2020

Я развернул свой код NodeJS (express server) в качестве бэкэнда на удаленном сервере и добавил правило перезаписи в .htaccess.

Это правило

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
RewriteRule ^ /index.html

Но когда я пытаюсь сделать вызов API на моем express сервере, я получаю статус 200 и ошибку SyntaxError: Unexpected token < in JSON at position 0.

Если я удаляю это правило из .htaccess, все работает правильно.

1 Ответ

0 голосов
/ 22 января 2020

С этим файлом .htaccess вы говорите своему веб-серверу (Apache) возвращать index.html всякий раз, когда вы запрашиваете страницу, которую он не может найти. Таким образом, вы получите ответ 200 с документом HTML, который не является документом JSON.

Этот .htaccess файл используется для настройки веб-сервера, на котором размещено ваше приложение Angular.

Для вашей NodeJS Express веб-службы не требуется веб-сервер, поскольку он предоставляет собственный веб-сервер. Однако вы можете использовать веб-сервер Apache в качестве обратного прокси-сервера для вашей веб-службы, но для этого требуется другая конфигурация.

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