模板中使用请求参数

分析请求URL

引入 url模块 使用url.parse(req.url) 将请求url解析成类似以下结构数据:

{
    host: "localhost",
    pathname: "/index.html",
    query: "?a=xx&b=1&b=2"
}

的对象。

格式化query

引入querystring 使用querystring.parse(query) 将query字符串转化成以下结构:

{
    a: "xx",
    b: ["1","2"] 
}

并将以上的转化结果赋值到req.data属性,备用。

修改handle模块

  • handle模块的execute方法参数,增加req和resp
  • 修改underscore.template渲染参数,将req和resp分别按照指定名称传入

测试

测试页面使用underscore.each方法增加以下片段:

请求参数
    <%_.each(request.data, function(v,k){ print( '
  • '+k+":"+v+'
  • ' ) });%>

地址栏输入http://localhost:8888/example/123.html?a=xx&b=1&b=2测试访问结果。

PS:

相关完整代码已经发布到了npm仓库中, 可以使用 $npm install [email protected] 进行安装或者更新。进入目录后使用 $node http-f2e-server.js 启动服务,并查看Demo。

你可能感兴趣的:(模板中使用请求参数)