使用Node后端处理POST请求
Posted anbrera
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Node后端处理POST请求相关的知识,希望对你有一定的参考价值。
后端代码
console.log("启动post监控") var http = require(‘http‘); var fs = require(‘fs‘); var url = require(‘url‘); var express = require(‘express‘); const querystring = require("querystring"); var router = express.Router(); router.post(‘/login‘, function (req, res, next) { var name = req.body.name; var pass = req.body.password; console.log(‘name:‘ + name); console.log(‘pass:‘ + pass); if (name == ‘sis‘ && pass == ‘1‘) { res.send(‘1‘); } res.end(‘is over‘); }); // 创建服务器 http.createServer(function (request, response) { // 解析请求,包括文件名 var pathname = url.parse(request.url).pathname; // -------------- console.log("request.url", request.url); console.log("request.method", request.method.toLowerCase()); // request.url === ‘/post‘ && if (request.method.toLowerCase() === ‘post‘) { var alldata = ‘‘; request.on(‘data‘, function (chunk) { alldata += chunk; }); request.on(‘end‘, function () { // request.end(‘success‘); //将字符串转换位一个对象 console.log("alldata", alldata); var dataString = alldata.toString(); //将接收到的字符串转换位为json对象 var dataObj = querystring.parse(dataString); //输出数据 console.log("dataObj", dataObj); //{ username: ‘王五‘, sex: ‘男‘, hobby: [ ‘吃饭‘, ‘睡觉‘, ‘打豆豆‘ ] } console.log("dataObj.name", dataObj.name); //王五 console.log("dataObj.pass", dataObj.pass); //男 console.log("dataObj.hobby", dataObj.hobby); //[ ‘吃饭‘, ‘睡觉‘, ‘打豆豆‘ ] if (dataObj.name === 1) { console.log("处理程序:", "我该干啥?"); } }); }; // 输出请求的文件名 console.log("Request for " + pathname + " received."); // 从文件系统中读取请求的文件内容 fs.readFile(pathname.substr(1), function (err, data) { if (err) { console.log(err); // HTTP 状态码: 404 : NOT FOUND // Content Type: text/plain response.writeHead(404, { ‘Content-Type‘: ‘text/html‘ }); } else { // HTTP 状态码: 200 : OK // Content Type: text/plain response.writeHead(200, { ‘Content-Type‘: ‘text/html‘ }); // 响应文件内容 response.write(data.toString()); } // 发送响应数据 response.end(); }); }).listen(8080); // console.log("结束post监控")
以上是关于使用Node后端处理POST请求的主要内容,如果未能解决你的问题,请参考以下文章
将 Node.js GET /POST 请求更改为 Ajax
axios发送post请求node服务器无法通过req.body获取参数