Javascript 加载/呈现新页面的异步请求

Javascript 加载/呈现新页面的异步请求,javascript,node.js,axios,request,rendering,Javascript,Node.js,Axios,Request,Rendering,我正在做一个项目,使用firebase auth登录,即使用google登录;如果已登录,则重定向到存在webapp真正功能的/app 登录页面js: document.getElementById('login')。addEventListener('click',e=>{ var provider=new firebase.auth.GoogleAuthProvider(); firebase.auth() .signInWithPopup(提供程序) 。然后((结果)=>{ fireba

我正在做一个项目,使用firebase auth登录,即使用google登录;如果已登录,则重定向到存在webapp真正功能的
/app

登录页面js:


document.getElementById('login')。addEventListener('click',e=>{
var provider=new firebase.auth.GoogleAuthProvider();
firebase.auth()
.signInWithPopup(提供程序)
。然后((结果)=>{
firebase.auth().currentUser.getIdToken(true)。然后(函数(token){
//向后端发出请求以获取主应用所在的/app页面
axios.get(“/app”{
标头:{'Authorization':'Bearer${token}}}
})
。然后(res=>{
console.log(res.data);
});
});
});
});
现在我的主要动机是,如果标题中没有JWT标记,用户不能访问除
/
(登录页)以外的页面

因此,在这里,当用户使用
登录google
登录时,它将在登录时提供令牌,然后它将使用令牌向后端发出请求,后端将返回预先呈现的
/app
页面

问题:使用这是代码,当我请求后端时,它只返回
res.data
中的HTML代码,但我想要实际的页面!! Axios很好地从我的后端api获取数据,但我不知道如何附加头并生成req,以及如何获取页面而不是源代码作为响应

同样的问题在应用中无处不在。我只是不想让用户访问除登录页面以外的页面,而在标题中没有JWT

  • 后端:nodeJs
  • 火基认证
  • 视图的ejs模板引擎

编辑:

返回源代码的含义是:


欢迎任何帮助、想法或方法
  • 像以前一样登录
  • 将令牌写入cookie而不是授权标头
  • 将浏览器重定向到
    /app
  • 在后端,读取cookie而不是授权标头
  • 这样,浏览器将通过呈现响应为您解决问题。使用cookies是在没有AJAX的情况下实现登录的常用方法


    无法重定向和设置授权标头。

    完整代码和实际页面之间有什么区别?为什么不改为使用api?无依赖性,更快的加载时间,基于承诺,支持流,在节点(使用节点获取)、Deno和web worker中工作too@Endlessfetch API在这里有什么帮助?@rigojr您在问题中看到了什么反应?谢谢您的回复。首先,我只在客户端使用vanilla JS。(不使用任何前端框架)其次,@ThomasSablik的区别是,我希望新页面加载到前端,而不是在当前页面的javascript中获取其源代码。明白了吗?好的,让我先实施。如果它像听起来一样顺利,那么我会把你的评论标记为答案。谢谢你的回复,真的很感谢你!谢谢你的指导,我已经实现了。到目前为止,这是非常令人满意的