从零开始学习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动画效果类封装代码
Aug 28 Javascript
js 实现打印网页中定义的部分内容的代码
Apr 01 Javascript
JS+CSS实现一个气泡提示框
Aug 18 Javascript
Node.js中的事件驱动编程详解
Aug 16 Javascript
VC调用javascript的几种方法(推荐)
Aug 09 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
Sep 05 Javascript
详解Vue如何支持JSX语法
Nov 10 Javascript
在vue中获取token,并将token写进header的方法
Sep 26 Javascript
js自定义input文件上传样式
Oct 26 Javascript
JS实现给数组对象排序的方法分析
Jun 24 Javascript
在Echarts图中给坐标轴加一个标识线markLine
Jul 20 Javascript
js实现验证码干扰(静态)
Feb 22 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
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
PHP调用.NET的WebService 简单实例
2015/03/27 PHP
php批量删除操作(数据访问)
2017/05/23 PHP
在textarea中屏蔽js的某个function的javascript代码
2007/04/20 Javascript
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
2007/08/15 Javascript
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
JavaScript转换农历类实现及调用方法
2013/01/27 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
javascript获取ckeditor编辑器的值(实现代码)
2013/11/18 Javascript
借助javascript代码判断网页是静态还是伪静态
2014/05/05 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
2015/12/16 Javascript
json格式数据的添加,删除及排序方法
2016/01/21 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
2017/04/08 jQuery
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
手把手教你使用vue-cli脚手架(图文解析)
2017/11/08 Javascript
详解ajax的data参数错误导致页面崩溃
2018/04/30 Javascript
python爬取51job中hr的邮箱
2016/05/14 Python
python实现二维数组的对角线遍历
2019/03/02 Python
Django web框架使用url path name详解
2019/04/29 Python
Python关键字及可变参数*args,**kw原理解析
2020/04/04 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
python 生成器需注意的小问题
2020/09/29 Python
Daisy London官网:英国最大的首饰集团IBB旗下
2019/02/28 全球购物
复古服装:RetroStage
2019/05/10 全球购物
程序员岗位职责
2013/11/11 职场文书
市场部专员岗位职责
2013/11/30 职场文书
最新的咖啡店创业计划书
2013/12/30 职场文书
企业内部培训方案
2014/02/04 职场文书
高中学生评语大全
2014/04/25 职场文书
小学学校评估方案
2014/06/08 职场文书
小学生纪念九一八事变演讲稿
2014/09/14 职场文书
全面盘点MySQL中的那些重要日志文件
2021/11/27 MySQL
Docker下安装Oracle19c
2022/04/13 Servers