从零开始学习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 相关文章推荐
用于判断用户注册时,密码强度的JS代码
Jan 01 Javascript
Javascript的匿名函数小结
Dec 31 Javascript
JS 两个字符串时间的天数差计算
Aug 25 Javascript
javascript常用函数(2)
Nov 05 Javascript
jQuery 限制输入字符串长度
Jun 20 Javascript
Boostrap基础教程之JavaScript插件篇
Sep 08 Javascript
关于js函数解释(包括内嵌,对象等)
Nov 20 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
Sep 16 Javascript
利用Javascript开发一个二维周视图日历
Dec 14 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
Aug 13 Javascript
vue鼠标悬停事件实例详解
Apr 01 Javascript
利用 JavaScript 实现并发控制的示例代码
Dec 31 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
超人钢铁侠联手合作?美漫作家呼吁DC漫威合作联动以抵抗疫情
2020/04/09 欧美动漫
PHP中调用JAVA
2006/10/09 PHP
ThinkPHP模板判断输出Empty标签用法详解
2014/06/30 PHP
php header函数的常用http头设置
2015/06/25 PHP
PHP设计模式之注册树模式分析
2018/01/26 PHP
PHP判断是否是微信打开,浏览器打开的方法
2018/03/14 PHP
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
2010/10/20 Javascript
High Performance JavaScript(高性能JavaScript)读书笔记分析
2011/05/05 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
jQuery标签替换函数replaceWith()的使用例子
2014/08/28 Javascript
详解javascript中原始数据类型Null和Undefined
2015/12/17 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
2016/04/01 Javascript
js实现符合国情的日期插件详解
2017/01/19 Javascript
ES6中module模块化开发实例浅析
2017/04/06 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
nodejs中Express与Koa2对比分析
2018/02/06 NodeJs
JS利用prototype给类添加方法操作详解
2019/06/21 Javascript
[04:52]2015国际邀请赛LGD战队晋级之路
2015/08/14 DOTA
Django集成百度富文本编辑器uEditor攻略
2014/07/04 Python
Python实现微信公众平台自定义菜单实例
2015/03/20 Python
深入浅析python定时杀进程
2016/06/06 Python
Python 实现文件的全备份和差异备份详解
2016/12/27 Python
python 开发的三种运行模式详细介绍
2017/01/18 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
2018/10/29 Python
使用python实现回文数的四种方法小结
2019/11/24 Python
linux 下selenium chrome使用详解
2020/04/02 Python
python和JavaScript哪个容易上手
2020/06/23 Python
Python3爬虫中Selenium的用法详解
2020/07/10 Python
如果NULL和0作为空指针常数是等价的,那我到底该用哪一个
2014/09/16 面试题
Android面试题附答案
2014/12/08 面试题
Servlet面试题库
2015/07/18 面试题
《小蝌蚪找妈妈》教学反思
2014/02/21 职场文书
学校师德师风整改方案
2014/10/28 职场文书
简单的个人租房协议书范本
2014/11/26 职场文书
毕业生党员个人总结
2015/02/14 职场文书
北大自主招生自荐信
2015/03/04 职场文书