express中request.params取參數(shù)問題

剛剛寫代碼的時候情组,想通過request.params這個方法來取url中的參數(shù)爬凑,根據(jù)官方API金刁,假設(shè)路由為/path/:id辜王,url為/path/1,那么request.params.id=1.于是開心的用了惫企,但是沒有取到結(jié)果

var express = require('express');
var router = express.Router();
var User = require('../data/user');

/* Get detail page*/
router.get('/',function(req,res){
   var id = req.params.id.;
   User.find({blog_id:id},function(err,detail){
     var title =  detail.title;
     var article = detail.article;
     var date = detail.date;
     res.render('detail',{title:title,article:article,date: date});      

   });


});
module.exports= router;

代碼如上撕瞧,經(jīng)過一番檢查陵叽,發(fā)現(xiàn)req.params方法取得的值是字符串!坑死人啊

req.params
This property is an object containing properties mapped to the named route “parameters”. For example, if you have the route /user/:name, then the “name” property is available as req.params.name. This object defaults to {}.

// GET /user/tj
req.params.name
// => "tj"

也怪自己太粗心丛版,寫在這里巩掺,自己記住,也希望幫到其他被坑的小伙伴
PS:解決辦法


  1. 轉(zhuǎn)換函數(shù):
    js提供了parseInt()和parseFloat()兩個轉(zhuǎn)換函數(shù)页畦。前者把值轉(zhuǎn)換成整數(shù)胖替,后者把值轉(zhuǎn)換成浮點數(shù)。只有對String類型調(diào)用這些方法豫缨,這兩個函數(shù)才能正確運行独令;對其他類型返回的都是NaN(Not a Number)。
    一些示例如下:
    復制代碼 代碼如下:

parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN
parseInt()方法還有基模式好芭,可以把二進制燃箭、八進制、十六進制或其他任何進制的字符串轉(zhuǎn)換成整數(shù)舍败≌欣辏基是由parseInt()方法的第二個參數(shù)指定的,示例如下:
復制代碼 代碼如下:

parseInt("AF", 16); //returns 175
parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10
如果十進制數(shù)包含前導0瓤湘,那么最好采用基數(shù)10瓢颅,這樣才不會意外地得到八進制的值。例如:
復制代碼 代碼如下:

parseInt("010"); //returns 8
parseInt("010", 8); //returns 8
parseInt("010", 10); //returns 10
parseFloat()方法與parseInt()方法的處理方式相似弛说。
使用parseFloat()方法的另一不同之處在于挽懦,字符串必須以十進制形式表示浮點數(shù),parseFloat()沒有基模式木人。
下面是使用parseFloat()方法的示例:
復制代碼 代碼如下:

parseFloat("1234blue"); //returns 1234.0
parseFloat("0xA"); //returns NaN
parseFloat("22.5"); //returns 22.5
parseFloat("22.34.5"); //returns 22.34
parseFloat("0908"); //returns 908
parseFloat("blue"); //returns NaN

  1. 強制類型轉(zhuǎn)換
    還可使用強制類型轉(zhuǎn)換(type casting)處理轉(zhuǎn)換值的類型信柿。使用強制類型轉(zhuǎn)換可以訪問特定的值,即使它是另一種類型的醒第。
    ECMAScript中可用的3種強制類型轉(zhuǎn)換如下:
    Boolean(value)——把給定的值轉(zhuǎn)換成Boolean型渔嚷;
    Number(value)——把給定的值轉(zhuǎn)換成數(shù)字(可以是整數(shù)或浮點數(shù));
    String(value)——把給定的值轉(zhuǎn)換成字符串稠曼。
    用這三個函數(shù)之一轉(zhuǎn)換值形病,將創(chuàng)建一個新值,存放由原始值直接轉(zhuǎn)換成的值霞幅。這會造成意想不到的后果漠吻。
    當要轉(zhuǎn)換的值是至少有一個字符的字符串、非0數(shù)字或?qū)ο螅ㄏ乱还?jié)將討論這一點)時司恳,Boolean()函數(shù)將返回true途乃。如果該值是空字符串、數(shù)字0扔傅、undefined或null耍共,它將返回false烫饼。
    可以用下面的代碼段測試Boolean型的強制類型轉(zhuǎn)換。
    復制代碼 代碼如下:

Boolean(""); //false – empty string
Boolean("hi"); //true – non-empty string
Boolean(100); //true – non-zero number
Boolean(null); //false - null
Boolean(0); //false - zero
Boolean(new Object()); //true – object
Number()的強制類型轉(zhuǎn)換與parseInt()和parseFloat()方法的處理方式相似试读,只是它轉(zhuǎn)換的是整個值杠纵,而不是部分值。示例如下:
復制代碼 代碼如下:

用  法 結(jié)  果
Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number( "5.5 ") 5.5
Number( "56 ") 56
Number( "5.6.7 ") NaN
Number(new Object()) NaN
Number(100) 100
最后一種強制類型轉(zhuǎn)換方法String()是最簡單的钩骇,示例如下:
復制代碼 代碼如下:

var s1 = String(null); //"null"
var oNull = null;
var s2 = oNull.toString(); //won't work, causes an error

  1. 利用js變量弱類型轉(zhuǎn)換
    舉個小例子淡诗,一看,就會明白了伊履。
    復制代碼 代碼如下:

<script>
var str= '012.345 ';
var x = str-0;
x = x*1;
</script>
上例利用了js的弱類型的特點,只進行了算術(shù)運算款违,實現(xiàn)了字符串到數(shù)字的類型轉(zhuǎn)換唐瀑,不過這個方法還是不推薦的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市插爹,隨后出現(xiàn)的幾起案子哄辣,更是在濱河造成了極大的恐慌,老刑警劉巖赠尾,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件力穗,死亡現(xiàn)場離奇詭異,居然都是意外死亡气嫁,警方通過查閱死者的電腦和手機当窗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來寸宵,“玉大人崖面,你說我怎么就攤上這事√萦埃” “怎么了巫员?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長甲棍。 經(jīng)常有香客問我简识,道長,這世上最難降的妖魔是什么感猛? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任七扰,我火速辦了婚禮,結(jié)果婚禮上唱遭,老公的妹妹穿的比我還像新娘戳寸。我一直安慰自己,他們只是感情好拷泽,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布疫鹊。 她就那樣靜靜地躺著袖瞻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪拆吆。 梳的紋絲不亂的頭發(fā)上聋迎,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機與錄音枣耀,去河邊找鬼霉晕。 笑死,一個胖子當著我的面吹牛捞奕,可吹牛的內(nèi)容都是我干的牺堰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼颅围,長吁一口氣:“原來是場噩夢啊……” “哼伟葫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起院促,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤筏养,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后常拓,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體渐溶,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年弄抬,在試婚紗的時候發(fā)現(xiàn)自己被綠了茎辐。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡眉睹,死狀恐怖荔茬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情竹海,我是刑警寧澤慕蔚,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站斋配,受9級特大地震影響孔飒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜艰争,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一坏瞄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧甩卓,春花似錦鸠匀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宅此。三九已至,卻和暖如春爬范,著一層夾襖步出監(jiān)牢的瞬間父腕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工青瀑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留璧亮,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓斥难,卻偏偏與公主長得像枝嘶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子哑诊,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容