node 发送 post 请求 get请求。
因为我们部门打算用node请求restful 然后慢慢替换掉服务端,以后直接请求soa的接口,让前端的数据更贴切项目,因为我们服务端接口和app公用一套,由于业务的需求和版本不统一(例如app6.4的接口,H5可能只用到6.0)经常变动啥啥啥啥,所以我们前端常常还要经过1层dataformat(旧的业务代码改动代价太大),反正如果能实行,可行的话 将让前端带来更薄、更舒适的体验(就差夜用更长了 哈哈)。
今天别人说想用C#封装api,再调用V8解析我们写的js代码 而达到我们一般前端人员也能写处理接口的代码;我一听就建议他能用node最好用node ,没必要用C#封一层,性能谁好谁坏没有测过先不说,但是有一点很致命的是,我们组的前端就他一个比较精通C#的代码,如果他走了,接下来的摊子谁维护? 我表达了我的观点,但他一面不采纳,抛下一句:你用node能搭建出和我C#一样的稳定代码,你可以用node。 我听后不爽,我决定接下来的时间,我要研究node。今天第一步,写个笔记。
好不扯淡
说到要请求post,get,那是不是应该要有一个服务接口,那我就先搭建一个php服务,获取get和post数据,为了简单展示,直接输出获取到的数据。
<?php $name = $_GET['name']; $age = $_POST['age']; $db = $_POST['db']; $response_obj->name = $name; $response_obj->age = $age; $response_obj->sb = $db; echo json_encode($response_obj); ?>
好咱们php服务写好了,第二步就是用node去调用我们写好的php接口了
var http = require('http'); //创建一个http服务 http.createServer( function(request, //客户端发来的请求,node.js 帮我们封装成 request 对象 response //我们利用response,向客户端发送回答 ){ //在控制台显示request对象 var querystring = require('querystring'); var data=querystring.stringify({age:22, db: 'bbbbb'}); var http = require('http'); var opt = { method: "POST", host: "127.0.0.1", port: 80, path: "/demo/test.php?name=xmzzaaaa", headers: { "Content-Type":"application/x-www-form-urlencoded", "Content-Length": data.length } }; //发送一个请求 var req = http.request(opt, function (serverFeedback) { //console.log(serverFeedback.statusCode); serverFeedback.on('data', function (chunk) { //response.end('BODY: ' + chunk); response.end('response ' + chunk); //console.log('response ', chunk); }).on('end', function (chunk) { console.log('end'); }); return; }).on('error', function(e) { console.log("Got error: " + e.message); }); console.log('ccc'+data); req.end(); }).listen(888); console.log('Server start at 888');
然后再运行我们的node脚本 : node request2.js
最后访问我们的node服务地址: http://localhost:888
输出正常 ,ko,第一步踏出了,其他还有神马可怕的 哈哈哈哈
分类:
Nodejs
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?