如何向API发出请求,然后使用同一Express应用程序呈现所需数据

时间:2019-04-17 16:37:17

标签: javascript node.js express

我使用api和jwt身份验证制作了一个简单的express应用。我正在尝试扩展该应用程序以服务于回收/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页。

1 个答案:

答案 0 :(得分:0)

您正在使用myProfile函数作为快速middleware

因此将使用requestresponse和下一个回调作为参数来调用它。

获取数据后,只需通过响应对象发送数据即可


    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'路线,因此无需重定向。