最简单的不用路由及框架的前后台交互

声明:index.html 与 app.js位于同一级目录

POST 请求

post方式提交的数据,需要监听两个事件:

    data —— 当请求发送数据会触发data事件 end —— 当数据接收完成会触发end事件。

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    名字:
    <input type="text" name="name" id="name" placeholder="请输入用户名">
    <button type="button" onclick="send()">发送</button>
    <div id="returnVal"></div>

    <script>
        function send() {
            var name = document.getElementById(name).value;

            // 1.创建XMLHttpRequest对象
            var xhr = new XMLHttpRequest();
            // 2.请求行
            xhr.open(POST, http://127.0.0.1:3000);
            // 3.请求头
            xhr.setRequestHeader(Content-Type, application/x-www-form-urlencoded);
            // 4.设置数据
            xhr.send(name);      
            // 5.监听服务器响应
            xhr.onreadystatechange = function(){
                if (xhr.readyState==4 && xhr.status==200){
                    document.getElementById(returnVal).innerHTML = xhr.responseText;
                }
            };
        };
    </script>
</body>
</html>
    app.js
var http = require(http);

http.createServer(function (req, res) {
    var dataContent = ;
    req.on(data, function(data) {      // 接收客户端发送过来的数据
        dataContent += data;
    });

    req.on(end, function() {
        res.writeHeader(200, {
            Content-Type: text/plain,
            Access-Control-Allow-Origin: *   //解决跨域问题
        });
        res.write("hello:" + dataContent);
        res.end();
    })
}).listen(3000, function(){
    console.log("listen to: 3000");
});

将这两个文件放在xampp本地服务器里的htdocs中并开启Apache服务器 node app.js 启动node服务器

GET 请求

app.js

var http = require(http);
var fs = require(fs);

var app = http.createServer(function(req, res){
    res.setHeader("Content-Type", "text/html; charset=utf-8");
    if(req.url === /){
        fs.readFile(./templates/index.html, utf-8, function(err, data){
            if(!err){
                res.write(data);
                res.end();
            }
        })
    }else if(req.url === /login){
        fs.readFile(./templates/login.html, utf-8, function(err, data){
            if(!err){
                res.write(data);
                res.end();
            }
        })
    }else if(req.url === /register){
        res.write("欢迎来到注册页面");
        res.end();
    }else if(req.url === /admin){
        res.write("欢迎来到后台管理页面");
        res.end();
    }else{
        res.write("404 你找的页面飞了");
        res.end();
    }
});

app.listen(3000, function(){
    console.log(app is listening at port 3000);
})

效果演示图:

本文:https://blog..net/u013451157/article/details/80462642?utm_source=copy

经验分享 程序员 微信小程序 职场和发展