亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

XMLHttpRequest() 不從我的 node.js/express 呈現視圖?

XMLHttpRequest() 不從我的 node.js/express 呈現視圖?

收到一只叮咚 2021-12-23 15:45:23
我正在從客戶端向我的 node/express 應用程序中的路由發出 GET 請求,也許我遺漏了一些非常明顯的東西,但我的應用程序停留在路徑 localhost:5000 上并且沒有轉到 localhost:5000/adminPortal 并呈現視圖根據 /adminPortal GET 路由中的 express res.render()。我已經堅持了 3 天了,我確定這很明顯……也許 XML http 請求不是正確的方法?我需要使用什么來將標頭(授權)傳遞給快速路由以使其鏈接并呈現視圖?這是客戶端代碼:firebase.auth().onAuthStateChanged(function(user) {    console.log("Auth state changed");    //console.log("verified: " + user.emailVerified);    if(user){         firebase.auth().currentUser.getIdToken().then(function(token){            console.log('Sending request to with ID token in Authorization header.');            var req = new XMLHttpRequest();            req.open('GET', '/adminPortal', true);            req.setRequestHeader('Authorization', 'Bearer ' + token);            req.responseType = "document";            req.send();        }).catch(function(error){            console.log("error:" + error);        });    }在我的服務器端轉到這條路線(通過中間件后):router.get('/',isLoggedInAsUser, (req, res) => {  let usersRef = db.collection('Users');  var ownPolls = [];  var allUsers = [];  let firebaseUsers = usersRef.get()  .then(snapshot => {    snapshot.forEach(user => {      console.log(user.id, '=>', user.data());      allUsers.push(user.data());    });    console.log("test");    res.render('adminPortal/index', {allUsers: allUsers});    return null;  })  .catch(err => {    console.log('Error getting documents', err);  });  });
查看完整描述

1 回答

?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

如果單擊鏈接,則瀏覽器會發出 HTTP 請求并將結果加載為新頁面。


如果您提交表單,則瀏覽器會發出 HTTP 請求并將結果加載為新頁面。


如果您使用 ,<img>則瀏覽器發出 HTTP 請求并將結果作為圖像加載到當前文檔中由<img>元素標記的位置。


如果您使用,XMLHttpRequest則瀏覽器發出 HTTP 請求并將結果返回給 JavaScript,它將存儲在 XHR 對象中:


const xhr = new XMLHttpRequest();

xhr.open('GET', '/adminPortal', true);

xhr.addEventListener("load", function () { 

    alert(this.responseText); 

});

xhr.send();

XHR的全部意義在于它允許 JavaScript 通過 HTTP 與服務器通信,而無需加載新頁面。


如果要導航到新頁面,請使用鏈接或表單,或為 分配新值location.href。


如果您想使用 XHR,請在加載處理程序中編寫 JavaScript 以對響應執行某些操作。


查看完整回答
反對 回復 2021-12-23
  • 1 回答
  • 0 關注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號