我正在寫一個Node.js組件,因爲有一個API將從請求中獲取查詢值。有時該查詢值將爲空,如""
,所以我需要爲此寫入一個條件。如何檢查請求查詢值是否爲空,如「」?
例如,
查詢將包含類似這樣
{
name:"",
start:"yyyy"
}
的值,所以我需要寫一個條件,以檢查名稱是否爲空。
我已經寫了一些東西像
if(name){}
if(name===""){}
,但它不工作,那麼我檢查了這是給2字符串的長度。
所以怎麼寫條件?
我正在寫一個Node.js組件,因爲有一個API將從請求中獲取查詢值。有時該查詢值將爲空,如""
,所以我需要爲此寫入一個條件。如何檢查請求查詢值是否爲空,如「」?
例如,
查詢將包含類似這樣
{
name:"",
start:"yyyy"
}
的值,所以我需要寫一個條件,以檢查名稱是否爲空。
我已經寫了一些東西像
if(name){}
if(name===""){}
,但它不工作,那麼我檢查了這是給2字符串的長度。
所以怎麼寫條件?
如果字符串長度是2,你說的。然後,我認爲以下可能的工作:
if(name===""""){} // <--this is just wrong.
更新: 我想這個問題是該字符串由兩個空間。所以你可以嘗試:
if (name.replace(/\s/g, "").length > 0) {
// Your Code
}
這似乎有點猜測 – Liam
意外的字符串錯誤 – silvesterprabu
更新這個答案根據評論。 問題在於請求發送到服務器。需要注意的是,我們不需要爲空字符串添加雙引號。上述正在發生,因爲正在使用的查詢字符串的問題是
www.bla.com?name=""
這裏變量「name」被獲取兩個雙引號作爲它的值,它的意思是空的。因此,而不是上面的查詢字符串,請使用以下格式:
www.bla.com?name=
這裏的變量名稱正確獲取空字符串作爲它的值。
多個變量使用
www.bla.com?name=&age=22
我已經嘗試過,但它沒有工作 – silvesterprabu
請你提供一些更多的代碼。機器 –
app.get('/ getVisitorInfo',function(req,res){ console.log(「> 「+ req.query.stadiumName +」<「); \t \t \t 如果\t(req.query.stadiumName === 「!」) \t \t { \t \t \t res.send( 「stadiumName」) \t \t} \t}); – silvesterprabu
確定它來自你的查詢localhost:3000/getVisitorInfo?stadiumName=''";
,它包含兩個單引號後跟一個雙引號,這樣做,而不是執行以下操作:localhost:3000/getVisitorInfo?stadiumName=""
你試過'如果(name ==「」){'? –
是不是一個對象的名稱的一部分?你不需要像'object.name ==='''那樣的東西嗎? – Pete
如果字符串長度爲2,那麼可能有空的空間,或者它可能是一個數組。你可以嘗試在控制檯或類似的東西上輸出名字的執行值(比如'console.log(「>」+ name +「<」)' –