如何在GET请求节点js

时间:2016-10-08 06:40:47

标签: javascript node.js express ejs

我正在使用express js,并且特定端点使用

呈现页面
res.render('dialog',{state:'admin'});

此端点位于http://localhost:3000/api/login。当我在浏览器中打开此链接时,它会打开dialog.ejs页面,但是当我使用来自服务器其他部分的GET请求调用此端点时,dialog.ejs页面不会呈现

request({
    url: 'http://localhost:3000/api/login',
    headers:{
      'Authorization' : auth
    }, 
    method: 'GET'
}, function(err, response, body) {
    console.log("Response to request for authorization code : " + response.statusCode);
});

请帮忙!

1 个答案:

答案 0 :(得分:0)

好吧,当你构建一个手工制作的请求时,你可能会错过浏览器发送的一半标题,这可能是整个事情失败的原因之一

另一方面,如果你要制造机器加工请求,你不想要ejs页面渲染,你只需要恢复所需的数据和/或让服务器做一些事情" 当您从浏览器登录时"。

当您包含授权标头时,您可能会尝试模拟某种登录或授权(可能是JWT令牌?)

任何情况我认为你唯一的选择就是模仿你的浏览器尽可能做的事情。因此,构建一个完全正确的标题集,注入将会发生的事情 是表单数据的结果,可能是url_encoded,并使用正确的请求方法(GET是完全正确的,但来自POST的html更常见。检查它)

只有一个建议。从/ api / login渲染完整的网页似乎有点不正确。通常Api enpoints仅与JSON交谈。进出