nodeJs 原生方法实现get,post请求的前后端交互

nodeJs 原生方法实现get,post请求的前后端交互

    • GET请求
    • POST请求

GET请求

使用jq的ajax请求

客户端 index.js

$.ajax({
    type: 'get',
    dataType: 'text',
    url: 'http://localhost:8081/index',
    data: {
        name: 'zhang',
        gongzi: '20000'
    },
    success: function (data) {
        console.log(data);
    },
    error: function (data) {
        console.log(data);
    }
})

服务端 myNode.js

var http = require('http');
var url = require('url');

var server = http.createServer(function (req, res) {
    res.writeHeader(200, {
        'Content-Type': 'text/plain',
        'Access-Control-Allow-Origin': '*'    //解决跨域问题
    });

    // url.parse 方法来解析 URL 中的参数
    var pathname = url.parse(req.url, true).pathname;
    if (pathname == '/index') {
        var params = url.parse(req.url, true).query;
        res.write("名字:" + params.name);
        res.write("\n");
        res.write("工资:" + params.gongzi);
        res.end();
    }
});

server.listen(8081, function () {
    console.log('server start at localhost:8081');
});

启动 node myNode.js,然后发送请求 即可

POST请求

客户端 index.js

$.ajax({
    type: 'post',
    dataType: 'json',
    url: 'http://localhost:8081/index',
    data: {
        name: 'zhang',
        gongzi: '20000'
    },
    success: function (data) {
        console.log(data);
    },
    error: function (data) {
        console.log(data);
    }
})

服务端 myNode.js

var http = require('http');
var url = require('url');
var querystring = require('querystring');

var server = http.createServer(function (req, res) {
    //解决跨域问题
    res.writeHeader(200, {
        'Content-Type': 'text/plain',
        'Access-Control-Allow-Origin': '*'
    });
    // url.parse 方法来解析 URL 中的参数
    var pathname = url.parse(req.url, true).pathname;
    if (pathname == '/index') {
        // 定义了一个body变量,用于暂存请求体的信息
        var body = '';
        //// 通过req的data事件监听函数,每当接受到请求体的数据,就累加到body变量中
        req.on('data', function (data) {
            body += data;
        });

        req.on('end', function () {
            var myBody = querystring.parse(body); //querystring.parse将post解析为真正的POST请求格式
            res.write(JSON.stringify(myBody));
            res.end();
        })
    }
});

server.listen(8081, function () {
    console.log('server start at localhost:8081');
});

启动 node myNode.js,然后发送请求 即可

你可能感兴趣的:(nodeJs 原生方法实现get,post请求的前后端交互)