Node.JS中前端数据请求处理是怎样做的
Admin 2022-08-17 群英技术资讯 449 次浏览
前台 ----> 后台
后台要接受 前台的数据,只能通过 http
但是 前台接受 后台的数据有 from ajax jsonp
nodejs 给我们提供了模块 url 模块,可以专门解析 url 地址
让我们在走一遍流程
案例:
const http=require("http"); // 引入 http 模块,创建服务器
const urlbli=require("url"); // 引入 url 模块,解析 url 地址
http.createServer(function(req,res){
if(req.url.indexOf("?")!=-1){ //做一个判断,像谷歌这种高级浏览器,每次还会返回一个 favicon;网络地址后面都回带?
// 这个代码的意思是,如果我们这个字符串里面有 ? 在执行里面的语句
var obj=urlbli.parse(req.url,true); // url 模块的 parse 方法,可以帮我们解析浏览器的地址,true 这个参数是处理 浏览器通过 get 传递的参数
var url=obj.pathname; //回得到一个 obj 的对象
var get=obj.query;
console.log(url,get);
}
req.url // 获取了 网络地址
res.write("前台请求的数据");
}).listen(8080);
如果我们运行了 8080 端口,我们在别的服务器上就不能运行了,一个端口,只能运行一个服务器
当然 此等方法也是针对 浏览器通过 get 方式请求 才有效
下面,我们的是 post 的请求;
为什么说 get 和 post 的方式不一样;
如图:
post 和 get 两种请求方式的区别:
1. post 数据 可以比 get 数据发送更多的请求 相对而言,post 比 get 方式安全一点;
最重要的是,如果 post 发送,由于 post 可以发送 1 g 的数据,如果要对服务器 一股脑 发送这么大的数据,对服务器来说确实不够友好,所以 post 的发送方式都是 分段 发送
分段发送:每次发送一小段,分好几次发送完毕;
案例:
var http=require("http");
var querystring=require("querystring");
http.createServer(function(req,res){
var str=""; // on() 在这个里面相当于事件,我们可以这样理解 data 事件 end 事件
req.on("data",function(data){ // 我们想要 得到 post 请求的数据,我们要用 on() 参数一:data ,参数二:回调函数;回调函数 data ,我们便能得到参数
str+=data;
})
req.on("end",function(){ // 我们请求完数据 调用这个方法 我们 调用 on() 参数一:end,参数二:回调函数,我们在这里,便能得到完整的数据
var post = querystring(str);
console.log(post);
})
}).listen(8080)
这样我们便请求完了所以的数据 通过 post 方式
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
瀑布流也叫做瀑布流式布局,是一种比较常见和流行的网站页面布局,视觉效果就是每行高度不同,表现为参差不齐的多栏布局。那么瀑布流式布局要怎样实现呢?下面给大家分享js实现瀑布流布局的3种方法。
这篇文章主要介绍了Vue的混合继承,有需要的朋友可以借鉴参考下,希望能够有所帮助,希望能够给你带来帮助
在项目开发过程中,因为项目的需要由时候必须要设置弹出的视图,而Angular实现的方式有哪几种呢?今天爱站技术频道小编就为大家带来了Angular弹出模态框的两种方式,一起进入下文学习吧!
这篇文章给大家分享的是JavaScript ES模块使用的相关内容,介绍你可以在模块中导出和导入的所有方法,小编觉得挺实用的,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
这篇文章给大家分享的是有关nodejs错误处理过程的内容。小编觉得挺实用的,下文有具体实例可以个参考,感兴趣的朋友不妨跟随小编一起看看吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008