簡體   English   中英

Express JS,第二次對同一路徑的GET請求始終處於待處理狀態

[英]Express js, GET request to the same route for the second time always pending

我正在開發一個快速應用程序,其中需要呈現“ /”路線的登錄頁面。 此頁面有一個文本框和一個按鈕。 當用戶將文本添加到文本框並單擊“提交”按鈕時,我需要向相同的url發出請求,但添加文本作為其查詢參數。 該請求將呈現一個新頁面,其內容取決於查詢文本。

現在發生的是,當用戶在文本框中輸入文本並按下按鈕時,表單使GET請求和路由看起來像http://localhost:3000/?q=abc 我可以在chrome開發人員工具的“網絡”標簽中看到此請求處於待處理狀態,但此請求從未到達服務器。 我在服務器控制台中看不到對/?q=abc任何請求。

如果我重新啟動服務器,然后打開http://localhost:3000/?q=abc ,則會在瀏覽器中加載正確的內容。 但是,如果我將url更改回http://localhost:3000 ,則可以在“網絡”選項卡中看到待處理的請求,並且此請求永遠不會到達服務器。

我的代碼如下所示:

app.get('/', function(req, res, next) {
  if(req.query.q) 
    res.render('results.ejs');
  else
    res.render('landing.ejs')
});

知道為什么不對服務器進行呼叫嗎? 我花了整整一天的時間來找出這種現象的原因。 任何幫助將不勝感激。

您是否嘗試過插入臨時中間件以查看請求在中間件/路由鏈中的確切位置? 聽起來有些地方在某些情況next()沒有調用next()的中間件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM