Как сделать запрос к API, а затем отобразить полученные данные с помощью того же экспресс-приложения - PullRequest
0 голосов
/ 17 апреля 2019

Я сделал простое экспресс-приложение с API, с аутентификацией JWT. Я пытаюсь расширить приложение для обслуживания страниц, перерабатывающих мои /api/.. маршруты. Но я не могу понять это.

app.use('/', entry)
app.use('/myProfile', myProfile)
app.use('/api/auth', auth)

В моей общей папке у меня есть entry.js, который сохраняет / получает токен через локальное хранилище. Скрипт затем включается в шаблон мопса и подается по маршруту '/'

В моем entry.js у меня есть, например,

function myProfile() {
    const url = 'api/users/myProfile'
    const token = getTokenFromLocalStorage()
    const params = {
        method: "get",
        headers: {"x-auth-token": token}
    }
    fetch(url, params)
    .then(res => res.json())
    .then(data => 
    //...now ???
    )}

Я бы хотел перенаправить на страницу /myProfile, используя pug с полученными данными из тела ответа.

1 Ответ

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

Вы используете функцию myProfile как экспресс-связующее ПО .

Таким образом, он будет вызываться с запросом , ответом и следующим обратным вызовом в качестве аргументов.

После того, как вы получили данные, вам просто нужно отправить их через объект ответа:


    function myProfile(request, response, next) {
        const url = 'api/users/myProfile';
        const token = getTokenFromLocalStorage();
        const params = {
            method: "get",
            headers: {"x-auth-token": token}
        };
        fetch(url, params)
            .then(res => res.json())
            .then(data => 
                response.send(JSON.stringify(data))
            );
    }


    app.use('/myProfile', myProfile);

При этом вы уже переходите на маршрут '/myProfile', поэтому перенаправление не требуется.

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