66 # form 数据格式化

简介: 66 # form 数据格式化

实现一个 http 服务器 客户端会发送请求 GET POST

要处理不同的请求体的类型

  1. 表单格式(formData a=1&b=2),可以直接通信不会出现跨域问题
  2. JSON ("{"kaimo":"313"}"
  3. 文件格式 (二进制)
const http = require("http");
const url = require("url");
const querystring = require("querystring");
let server = http.createServer();
server.on("request", (req, res) => {
    let { pathname } = url.parse(req.url);
    if (pathname === "/login" && req.method == "POST") {
        const arr = [];
        req.on("data", (chunk) => {
            arr.push(chunk);
        });
        req.on("end", () => {
            let result = Buffer.concat(arr).toString();
            if (req.headers["content-type"] === "application/x-www-form-urlencoded") {
                let obj = querystring.parse(result, "&", "=");
                console.log(obj);
                res.setHeader("Content-Type", "application/json");
                res.end(JSON.stringify(obj));
            }
        });
    }
});
server.listen(3000);

启动服务

nodemon "66 # form 数据格式化.js"

然后后编写测试 form 数据提交

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>凯小默测试 form 数据格式提交</title>
</head>
<body>
    <form action="http://localhost:3000/login" method="POST" enctype="application/x-www-form-urlencoded">
        <input type="text" name="username">
        <input type="text" name="password">
        <button type="submit">提交</button>
    </form>
</body>
</html>

输入数据,点击提交

服务端数据

页面变成了数据

目录
相关文章
|
XML JSON 数据处理
postman 中 body的form-data,x-www-form-urlencoded,raw,binary含义
postman 中 body的form-data,x-www-form-urlencoded,raw,binary含义
492 0
postman 中 body的form-data,x-www-form-urlencoded,raw,binary含义
|
2月前
|
前端开发
antd_使用Input封装实现Form校验效果
本文介绍了如何在Ant Design (antd) 中使用 Input 组件封装实现表单校验效果,包括必填、数字、IP、邮箱、手机号、身份证号和域名等校验规则的使用,以及如何通过回调函数进行校验。
79 4
|
25天前
|
XML JSON 前端开发
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
242 0
|
4月前
Element UI 表格数据格式化
Element UI 表格数据格式化
66 0
|
5月前
|
机器学习/深度学习 JSON 移动开发
详细解读BootStrap智能表单系列八表单配置json详解
详细解读BootStrap智能表单系列八表单配置json详解
29 0
|
6月前
|
移动开发 自然语言处理 前端开发
input表单 type属性详解
input 元素可以用来生成一个供用户输入数据的简单文本框。 在默认的情况下, 什么样的数据均可以输入。而通过不同的type属性值,可以限制输入的内容。
123 1
09jqGrid - 数据格式化
09jqGrid - 数据格式化
49 0
|
数据安全/隐私保护
input表单的23个type属性
input表单的23个type属性
135 0
HTML form 表单组合功能使用
HTML form 表单组合功能使用
140 0
|
前端开发 JavaScript Java
【前端】form标签multipart/form-data 文件上传表单中 传递参数无法获取的原因
form标签multipart/form-data 文件上传表单中 传递参数无法获取的原因
1018 1