form 传递数据与fs 文件写入

上一篇我们用post 和get 进行前后端数据传递,我们也可以用form 直接传递,下面以一个index.html 和index.js 文件为例,
来说明其用法,其他过程参考上一篇文章
html: 文件

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <button onclick="form1()"> form 表</button>
    <script>
        function form1() {
            var xhr = new XMLHttpRequest()
            var form = new FormData()
            form.append('name', '玉郎')
            form.append('age', '18')
            form.append('fond', '玩')
            xhr.open('post', '/test')
            xhr.send(form)
            xhr.onreadystatechange = function(){
                if(xhr.readyState == 4){
                    console.log(xhr.responseText)
                }
            }
        }
    </script>
</body>

</html>

js 文件:(multer 可能需要nmp install multer 安装一次)

var express = require('express')
var bodyParser = require('body-parser')
var multer = require('multer')

var web = express()
var form = multer()

web.use(express.static('public'))
web.use(bodyParser.urlencoded({extended:false}))

web.post('/test', form.array(), function(req, res){
    name = req.body.name
    age = req.body.age
    fond = req.body.fond
    // 这个代码把数据数传到前端
    res.send('姓名' + name + '年龄' + age + '爱好' + fond)
})

web.listen('8080', function(){
    console.log('服务器启动')
})

index.js 写入文件:

var fs = require('fs')
var info = {
    name: '三三',
    age: '18',
    fond: '玩'
}

// 将json 文件转为 字符串
var infoString = JSON.stringify(info)


// writeFile 后面跟三个值:
// 1. 写入文件的路径
// 2. 写入的内容
// 3. 写入以后的回调函数
fs.writeFile('data/info.txt', infoString, function(err){
    if(err){
        console.log('写入失败')
    }
    else{
        console.log('成功')
    }
})


// readFile 里面两个参数:
// 参数1: 读取的文件的路径
// 参数2: 读取文件以后的回调函数
// 回调函数里面有两个参数:
//     参数1: 读取失败以后的信息
//     参数2: 读取成功以后的信息
fs.readSync('data/info.txt', function(err,data){
    if(err){
        console.log('读取失败')
    }
    else{
        console.log('读取成功')
        console.log(JSON.parse(data))
    }

}
)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值