溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Node.js多頁面如何實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的client端和server端

發(fā)布時(shí)間:2021-08-07 09:51:25 來源:億速云 閱讀:119 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細(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é)果:

Node.js多頁面如何實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的client端和server端

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。

Node.js多頁面如何實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的client端和server端

關(guān)于“Node.js多頁面如何實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的client端和server端”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(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)容。

AI