本文实例讲述了Node.js多页面实现数学运算的client端和server端。分享给大家供大家参考,具体如下:
1、server端
支持数学运算的服务器,服务器的返回结果用json对象表示。
math-server.js
后台程序
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,next){
math.fibonacciAsync(Math.floor(req.params.n),function(val){
res.send({n: req.params.n,result: val});
})
});
app.get('/factorial/:n',next){
res.send({n: req.params.n,result: math.factorial(Math.floor(req.params.n))});
});
app.get('/mult/:a/:b',next){
res.send({a: req.params.a,b: req.params.b,result: req.params.a * req.params.b});
});
app.get('/square/:a',result: req.params.a * req.params.a});
});
app.listen(3000);
测试结果:
2、client端
http.request方法会创建一个HTTP请求,并将URL元素分割到参数对象中,res.on语句里声明的回调函数会在HTTP相应数据到达时触发。
每当app.get请求处理函数调用res.send,它的HTTP相应会反过来让res.on('data'...)处理函数 等待响应的产生
math-client.js
先启动server,然后再测试client。
希望本文所述对大家nodejs程序设计有所帮助。