Node.js 从零开始:服务器的搭建和与用户端的通讯

作者 : 开心源码 本文共1709个字,预计阅读时间需要5分钟 发布时间: 2022-05-12 共220人阅读

服务器的搭建 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 从零开始:服务器的搭建和与用户端的通讯

发表回复