从零开始学习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 到 JQuery (1)学习小结
Feb 12 Javascript
Javascript遍历table中的元素示例代码
Jul 08 Javascript
jquery获取url参数及url加参数的方法
Oct 26 Javascript
Javascript动画效果(1)
Oct 11 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
Dec 14 Javascript
javascript history对象详解
Feb 09 Javascript
原生JS中slice()方法和splice()区别
Mar 06 Javascript
ReactJS实现表单的单选多选和反选的示例
Oct 13 Javascript
使用Node.js实现ORM的一种思路详解(图文)
Oct 24 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
Jun 12 jQuery
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
Feb 01 jQuery
vue+koa2搭建mock数据环境的详细教程
May 18 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中文URL编解码(urlencode()rawurlencode()
2010/07/03 PHP
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
二行代码解决全部网页木马
2008/03/28 Javascript
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
2010/12/04 Javascript
JS左右无缝滚动(一般方法+面向对象方法)
2012/08/17 Javascript
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
javascript实现数字倒计时特效
2016/03/30 Javascript
AngularJS 输入验证详解及实例代码
2016/07/28 Javascript
js实现统计字符串中特定字符出现个数的方法
2016/08/02 Javascript
酷! 不同风格页面布局幻灯片特效js实现
2021/02/19 Javascript
Centos7 中 Node.js安装简单方法
2016/11/02 Javascript
想学习javascript JS和jQuery哪个重要 先学哪个
2016/12/11 Javascript
js编写简单的计时器功能
2017/07/15 Javascript
基于Vue实现关键词实时搜索高亮显示关键词
2018/07/21 Javascript
详解微信小程序的 request 封装示例
2018/08/21 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
vue 设置 input 为不可以编辑的实现方法
2019/09/19 Javascript
uniapp与webview之间的相互传值的实现
2020/06/29 Javascript
Element DateTimePicker日期时间选择器的使用示例
2020/07/27 Javascript
python中os操作文件及文件路径实例汇总
2015/01/15 Python
python rsa 加密解密
2017/03/20 Python
Python pandas.DataFrame 找出有空值的行
2019/09/09 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
python调用百度API实现人脸识别
2020/11/17 Python
html特殊符号示例 html特殊字符编码对照表
2014/01/14 HTML / CSS
基于html5实现的图片墙效果
2014/10/16 HTML / CSS
西班牙在线宠物食品和配件商店:bitiba
2019/10/11 全球购物
Prototype如何实现页面局部定时刷新
2013/08/06 面试题
面试后感谢信怎么写
2014/02/01 职场文书
爱护公共设施的标语
2014/06/24 职场文书
关于感恩的演讲稿200字
2014/08/26 职场文书
教师节感恩老师演讲稿
2014/08/28 职场文书
二年级语文上册复习计划
2015/01/19 职场文书
MySQL修炼之联结与集合浅析
2021/10/05 MySQL