模板中使用请求参数

分析请求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方法增加以下片段:

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

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

PS:

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容