GET Запрос в клиенте на сервер Express, получая только ответ в виде текста / HTML - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть приложение реакции на экспресс-сервере.Я делаю GET-запрос к серверу от клиента, используя fetch, и ответ возвращается в виде Content-Type text / html, когда я нахожусь на chrome, но application / json, когда я пытаюсь в Postman.Я хочу это как JSON.

Ответ почтальона:

Postman response

Сетевая вкладка в Chrome, когдавызывается с кнопки:

Network tab in chrome

Я попытался изменить тип содержимого в экспресс-запросе.

app.get('/spotify/search-track', (req,res) => {
    spotify.searchTrack(req.query.name).then(function(result)
    {
        res.setHeader("Content-Type", "application/json");
        res.send(result);
    });
});

Реагировать на запрос GET:

fetch('/api/spotify/search-tracks?name=' + val, 
{
     method: "GET",
     data: null,
     headers : { "Accept": "application/json" }
}).then(response => response.json()).then(data => console.log(data));

Я также получаю эту ошибку в Chrome - возможно, потому что <взято из HTML. </p>

enter image description here

Ответы [ 2 ]

0 голосов
/ 26 апреля 2019

Я не понял, что запрос вызывает / api / spotify / search-track, а сервер ожидает / search-track.Мой там плохой;)

0 голосов
/ 25 апреля 2019

Вместо
res.send(result)
Вы можете использовать
res.status(200).json(result)

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