nodejs服务端实现post请求
博客之前写过一篇php实现post请求的文章。
今天想到好久没有输出了,重新认识到输出的重要性。百般思索该写些什么?想来想去,想到了两点:
逐步熟练nodejs各种场景知识,针对mysql数据交互和fs文件数据交互练习。
本文属于nodejs各种场景知识。
首先,nodejs实现post,可以直接使用request这个包,直接在文件下执行
cnpm install request --save -dev
然后在文件里面很容易实现post请求。
var request = require('request'); request.post({url:'http://www.youxuewang.com.cn/shouji/home/LoadProducts', form:{ "pageno": 1, "pagesize": 200, "condstr": "社会大课堂: 0" }}, function(error, response, body) { console.log(error,response,body) })
另外不利用第三方包,利用原生的node
var http = require('http'); var querystring = require('querystring'); var post_data = { "pageno": 1, "pagesize": 200, "condstr": "社会大课堂: 0" };//这是需要提交的数据 var content = querystring.stringify(post_data); var options = { hostname: 'youxuewang.com.cn', port: 80, //注意端口号 可以忽略不写 写一定写对 path: '/shouji/home/LoadProducts', method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' } }; var req = http.request(options, function (res) { res.setEncoding('utf8'); res.on('data', function (chunk) { console.log('BODY: ' + chunk); //JSON.parse(chunk) }); }); req.on('error', function (e) { console.log('problem with request: ' + e.message); }); // write data to request body req.write(content); req.end();
注意如果写端口一定要写对,不写端口也可以。
然后node js文件即可。至于get请求,自己研究吧。
我站在山顶看风景!下面是我的家乡!