您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)Node.js多頁面如何實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的client端和server端,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
具體如下:
1、server端
支持?jǐn)?shù)學(xué)運(yùn)算的服務(wù)器,服務(wù)器的返回結(jié)果用json對(duì)象表示。
math-server.js
//通過監(jiān)聽3000端口使其作為Math Wizard的后臺(tái)程序 var math = require('../nodejsExample3/math.js'); var express = require('express'); var app = express(); app.configure(function(){ app.use(app.router); //默認(rèn)的錯(cuò)誤處理函數(shù),顯示棧軌跡 //如果要顯示用戶友好的錯(cuò)誤,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);
測(cè)試結(jié)果:
2、client端
http.request方法會(huì)創(chuàng)建一個(gè)HTTP請(qǐng)求,并將URL元素分割到參數(shù)對(duì)象中,res.on語句里聲明的回調(diào)函數(shù)會(huì)在HTTP相應(yīng)數(shù)據(jù)到達(dá)時(shí)觸發(fā)。
每當(dāng)app.get請(qǐng)求處理函數(shù)調(diào)用res.send,它的HTTP相應(yīng)會(huì)反過來讓res.on('data'...)處理函數(shù) 等待響應(yīng)的產(chǎn)生
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(); });
先啟動(dòng)server,然后再測(cè)試client。
關(guān)于“Node.js多頁面如何實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的client端和server端”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。