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

nodeJs 原生方法实现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,然后发送请求 即可

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值