034-网页应用开发WebApplicationDevelopment(九)

网页应用开发WebApplicationDevelopment(九)

 

 

先来介绍一下不同类型的response code

 

1xx informational

2xx success

3xx redirection

4xx client error

5xx server error

 

 

 

然后我们来搞服务器代码

 

装一下node.js

windows直接官网下载安装就行了

https://nodejs.org

 

运行

npm init

然后生成了package.json

 

 

然后我们写一段非常简单的代码

// http module gives us simple server functionality
const http = require("http");

// define where our server will run
const server_port = 3000;
const server_ip = "127.0.0.1";

// create a server
const server = http.createServer(function(request, response) {
    response.statusCode = 200;
    response.setHeader("Content-Type", "text/plain");
    response.end("Hello World!");
});

// start the server listening
server.listen(server_port, server_ip, function() {
    console.log(`server running at http://${server_ip}:${server_port}/`);
});

 

 

然后直接

node server.js

 

这就开启了服务器了

就是这么简单

 

打开

http://127.0.0.1:3000/

就能看到Hello World了

 

 

 

 

然后我们现在根据不同的url来返回不同的结果

// http module gives us simple server functionality
const http = require("http");

//url module gives url functionality
const url = require("url");

// define where our server will run
const server_port = 3000;
const server_ip = "127.0.0.1";

// create a server
const server = http.createServer(function (request, response) {

    //log the method and the url
    console.log(`received a ${request.method} request to url ${request.url}`);

    //use the url module to parse url from the request
    const u = url.parse(request.url, true);

    //set the status code and header
    response.statusCode = 200;
    response.setHeader("Content-Type", "text/plain");

    //end with different result
    if (u.pathname === "/hello") {
        response.end("Hello World!");
    } else if (u.pathname === "/goodbye") {
        response.end("Goodbye!");
    } else {
        response.end("How can I help?");
    }
});

// start the server listening
server.listen(server_port, server_ip, function () {
    console.log(`server running at http://${server_ip}:${server_port}/`);
});

 

 

 

 

 

现在来用一下moment和json

装一下moment模块

npm install moment --save

然后

 

 

//http module gives us simple server functionality
const http = require("http");

//url module gives url functionality
const url = require("url");

//moment module gives time functionality
const moment = require("moment")

//define where our server will run
const server_port = 3000;
const server_ip = "127.0.0.1";

//initialize response and return json
const return_JSON = function (json_data, response) {
    response.statusCode = 200;
    response.setHeader("Content-Type", "application/json");
    response.end(JSON.stringify(json_data));
};

//create a server
const server = http.createServer(function (request, response) {

    //log the method and the url
    console.log(`received a ${request.method} request to url ${request.url}`);

    //use the url module to parse url from the request
    const u = url.parse(request.url, true);

    //return json for different path
    if (u.pathname === "/hello") {
        return_JSON("Hello World!", response);
    } else if (u.pathname === "/goodbye") {
        return_JSON("Goodbye!", response);
    } else if (u.pathname === "/time") {
        var now = new moment().utc();
        var data = {
            now: now,
            year: now.year(),
            month: now.month(),
            day: now.day(),
            hour: now.hour(),
            minute: now.minute()
        };
        return_JSON(data, response);
    } else {
        return_JSON("How can I help?", response);
    }
});

//start the server listening
server.listen(server_port, server_ip, function () {
    console.log(`server running at http://${server_ip}:${server_port}/`);
});

 

 

看下访问/time的结果

是json

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值