从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例


Posted in Javascript onApril 13, 2017

本文实例讲述了Node.js多页面实现数学运算的client端和server端。分享给大家供大家参考,具体如下:

1、server端

支持数学运算的服务器,服务器的返回结果用json对象表示。

math-server.js

//通过监听3000端口使其作为Math Wizard的后台程序
var math = require('../nodejsExample3/math.js');
var express = require('express');
var app = express();
app.configure(function(){
  app.use(app.router);
  //默认的错误处理函数,显示栈轨迹
  //如果要显示用户友好的错误,app.err(function(err, req, res, next){
  // res.send(error page); //or res.render('template');
  // });
  app.use(express.errorHandler({
    dumpExceptions: true, showStack: true
  }));
});
app.get('/fibonacci/:n', function(req, res, next){
  math.fibonacciAsync(Math.floor(req.params.n), function(val){
    res.send({n: req.params.n, result: val});
  })
});
app.get('/factorial/:n', function(req, res, next){
  res.send({n: req.params.n, result: math.factorial(Math.floor(req.params.n))});
});
app.get('/mult/:a/:b', function(req, res, next){
  res.send({a: req.params.a, b: req.params.b, result: req.params.a * req.params.b});
});
app.get('/square/:a', function(req, res, next){
  res.send({a: req.params.a, result: req.params.a * req.params.a});
});
app.listen(3000);

测试结果:

从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例

2、client端

http.request方法会创建一个HTTP请求,并将URL元素分割到参数对象中,res.on语句里声明的回调函数会在HTTP相应数据到达时触发。

每当app.get请求处理函数调用res.send,它的HTTP相应会反过来让res.on('data'...)处理函数 等待响应的产生

math-client.js

var http = require('http');
var util = require('util');
[
  "/factorial/20","/factorial/20",
  "/mult/10/20","/square/12"
].forEach(function(path){
    var req = http.request({
      host: "localhost",
      port: 3000,
      path: path,
      method: 'GET'
    }, function(res){
      res.on('data', function(chunk){
        util.log('BODY: ' + chunk);
      });
    });
    req.end();
});

先启动server,然后再测试client。

从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例

希望本文所述对大家nodejs程序设计有所帮助。

Javascript 相关文章推荐
如何在一个页面显示多个百度地图
Apr 07 Javascript
js取float型小数点后两位数的方法
Jan 18 Javascript
使用jQuery管理选择结果
Jan 20 Javascript
jQuery倒计时代码(超简单)
Feb 27 Javascript
AngularJS中controller控制器继承的使用方法
Nov 03 Javascript
bootstrap datetimepicker控件位置异常的解决方法
Nov 23 Javascript
bootstrap 路径导航 分页 进度条的实例代码
Aug 06 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
Feb 02 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
Sep 10 Javascript
基于canvasJS在PHP中制作动态图表
May 30 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
Nov 06 Javascript
JavaScript的function函数详细介绍
Nov 20 Javascript
JS传参及动态修改页面布局
Apr 13 #Javascript
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
Apr 13 #Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
Apr 13 #Javascript
MUI  Scroll插件的使用详解
Apr 13 #Javascript
MUI 上拉刷新/下拉加载功能实例代码
Apr 13 #Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
Apr 13 #Javascript
mui上拉加载功能实例详解
Apr 13 #Javascript
You might like
Laravel SQL语句记录方式(推荐)
2016/05/26 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
Javascript 函数中的参数使用分析
2010/03/27 Javascript
jQuery1.6 使用方法二
2011/11/23 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
JS画5角星方法介绍
2013/09/17 Javascript
Jquery attr("checked") 返回checked或undefined 获取选中失效
2013/10/10 Javascript
jquery中的on方法使用介绍
2013/12/29 Javascript
JavaScript前补零操作实例
2015/03/11 Javascript
jquery解析json格式数据的方法(对象、字符串)
2015/11/24 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
JS模拟实现方法重载示例
2016/08/03 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
JQuery学习总结【一】
2016/12/01 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
使用sessionStorage解决vuex在页面刷新后数据被清除的问题
2018/04/13 Javascript
vue实现文字加密功能
2019/09/27 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
[01:02:48]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Liquid
2018/04/03 DOTA
python的常见命令注入威胁
2013/02/18 Python
Python中的MongoDB基本操作:连接、查询实例
2015/02/13 Python
Python的自动化部署模块Fabric的安装及使用指南
2016/01/19 Python
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
2019/07/04 Python
python Web flask 视图内容和模板实现代码
2019/08/23 Python
Python jieba库用法及实例解析
2019/11/04 Python
利用python中集合的唯一性实现去重
2020/02/11 Python
国际化的太阳镜及太阳镜配件零售商:Sunglass Hut
2016/07/26 全球购物
出纳工作检讨书范文
2014/12/27 职场文书
学校党支部承诺书
2015/04/30 职场文书
2016年度优秀辅导员事迹材料
2016/02/26 职场文书
Canvas如何做个雪花屏版404的实现
2021/09/25 HTML / CSS