Node.js 从零开始:服务器的搭建和与用户端的通讯
服务器的搭建 Node.js
在此使用 express 搭建一个简单的服务器,可以监听 post 请求并回应,代码如下
var express = require('express'); // 基于 Node.js 平台的 web 应用开发框架var bodyParser = require('body-parser'); // 一个解析 HTTP 请求体的中间件,使用这个板块可以解析 JSON、Raw、文本、URL-encoded 格式的请求体// 创立一个app对象,相似一个 web 应用var app = express();// 经过 bodyParser 的配置,在 req 请求对象增加属性,依据增加的次序尝试解析 req.body// parse application/jsonapp.use(bodyParser.json({ limit: '2mb', // 传输数据的大小限制}));// parse application/x-www-form-urlencodedapp.use(bodyParser.urlencoded({ limit: '2mb', extended: true, parameterLimit: 50000,}));// 跨域app.all("*", function (req, res, next) { // 允许跨域的域名,*代表允许任意域名跨域 res.header("Access-Control-Allow-Origin", "*"); // 允许的 header 类型 res.header("Access-Control-Allow-Headers", "*"); // 跨域允许的请求方式 res.header("Access-Control-Allow-Methods", "*"); // 假如没有这段代码,处理跨域就无效,肯定要加上,注意true是字符串 // res.header("Access-Control-Allow-Credentials", "true"); // if (req.method.toLowerCase() == 'options') // res.send(200); // 让options尝试请求快速结束 // else // next(); next();});// 接受指定路径的请求,指定回调函数app.post('/', function (req, res) { if (!req.body.myRequest1) { // 应协商好通讯的内容 console.log('params error!'); return; } res.end(JSON.stringify({'myResponse': req.body.myRequest1 + req.body.myRequest1,}));}// 创立一个 web 服务器,监听 8081 端口,当监听成功时回调var server = app.listen(8081, function () { var port = server.address().port; // 端口 console.log(`应用实例,访问地址为 ${port}`);});
用户端的通讯 Javascript
在此使用 fetch 来在 js 中以 json 格式与服务器建立通讯,代码如下
var option = { method: 'POST', // 使用 post 方法 headers: { // 设置请求头 'Accept': 'application/json', 'Content-Type': 'application/json;charset=UTF-8', 'Access-Control-Allow-Origin': '*', }, body: JSON.stringify({ myRequest1: '1', // 这样在服务器经过 body-parser 的解析即可以直接以 req.body.myRequest1 的形式获取该值 myRequest2: 2, }),};// 访问服务器地址并以 option 中的通讯方式发送请求fetch('http://localhost:8081/', option).then(function ( res.json().then(myResponse => { console.log(myResponse); }); return;});
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Node.js 从零开始:服务器的搭建和与用户端的通讯
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Node.js 从零开始:服务器的搭建和与用户端的通讯