从零开始学习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 相关文章推荐
javascript 写的一个简单的timer
Jul 30 Javascript
基于jquery的图片懒加载js
Jun 30 Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
Jan 27 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
May 12 Javascript
Bootstrap实现提示框和弹出框效果
Jan 11 Javascript
jQuery为DOM动态追加事件的方法
Feb 16 Javascript
jQuery实现下拉菜单的实例代码
Jun 19 jQuery
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【矩形情况】
Dec 13 Javascript
微信小程序结合mock.js实现后台模拟及调试
Mar 28 Javascript
微信公众平台 发送模板消息(Java接口开发)
Apr 17 Javascript
解决layui checkbox 提交多个值的问题
Sep 02 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
Jul 28 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
php 代码优化之经典示例
2011/03/24 PHP
php文件缓存类汇总
2014/11/21 PHP
php微信公众号开发(4)php实现自定义关键字回复
2016/12/15 PHP
PHP7 echo和print语句实例用法
2019/02/15 PHP
PHP htmlspecialchars_decode()函数用法讲解
2019/03/01 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
JS字符串截取函数实例
2013/12/27 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
ES6记录异步函数的执行时间详解
2016/08/31 Javascript
JavaScript ES6中CLASS的使用详解
2016/11/22 Javascript
bootstrap table配置参数例子
2017/01/05 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
2017/01/08 Javascript
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
jquery获取input输入框中的值
2019/11/13 jQuery
[01:09]模型精美,特效酷炫!TI9不朽宝藏Ⅰ鉴赏
2019/05/10 DOTA
Python3基础之条件与循环控制实例解析
2014/08/13 Python
在Python3中使用asyncio库进行快速数据抓取的教程
2015/04/02 Python
python3使用pyqt5制作一个超简单浏览器的实例
2017/10/19 Python
详解numpy.meshgrid()方法使用
2019/08/01 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
2019/08/02 Python
django将网络中的图片,保存成model中的ImageField的实例
2019/08/07 Python
python笔记_将循环内容在一行输出的方法
2019/08/08 Python
Python将视频或者动态图gif逐帧保存为图片的方法
2019/09/10 Python
Python中使用threading.Event协调线程的运行详解
2020/05/02 Python
详解CSS3新增的背景属性
2019/12/25 HTML / CSS
马来西亚领先的在线礼品店:Giftr
2018/08/23 全球购物
亚马逊墨西哥站:Amazon.com.mx
2018/08/26 全球购物
优秀实习生感言
2014/03/01 职场文书
教师新年寄语
2014/04/03 职场文书
行政内勤岗位职责
2014/04/07 职场文书
全国税务系统先进集体事迹材料
2014/05/19 职场文书
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers