网页应用开发WebApplicationDevelopment(九)
先来介绍一下不同类型的response code
1xx informational
2xx success
3xx redirection
4xx client error
5xx server error
然后我们来搞服务器代码
装一下node.js
windows直接官网下载安装就行了
运行
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
这就开启了服务器了
就是这么简单
打开
就能看到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