使用nodejs怎么获取表单数据

使用nodejs怎么获取表单数据?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1、首先npm初始化,下载express包,导入模块后创建服务对象

//导入express模块
const express = require("express");
// 创建服务器对象
const app = express();

form表单传递

这种通过from表单的特性,可以点击表单中button的type为submit的按钮,会提交表单数据。形式是以一种对象方式,属性名为input标签中name值,属性值为input标签value值,下面例子来看看具体写法。

<form action="/todata" method="POST">
        <table>
            <tr>
                <td>姓名</td>
                <td> <input type="text" name="user" id=""></td>
            </tr>
            <tr>
                <td>密码</td>
                <td> <input type="text" name="password" id=""></td>
            </tr>
            <tr>
                <button type="submit">提交</button>
            </tr>
        </table>
</form>

由于表单提交是post请求,在后端nodejs代码中需要对post请求数据接收需要做解析响应头的处理app.use(bodyParser.urlencoded({ extended: false })),然后用req.body来表示前端传递过来的数据。具体后端代码如下。

const express = require("express");
const app = express();
app.use(express.static("./"))
var bodyParser = require('body-parser')
//  解析 application/x-www-form-urlencoded响应头
app.use(bodyParser.urlencoded({ extended: false }))
app.post("/todata",(req,res)=>{
    console.log(req.body);
    res.send("提交成功")
})
app.listen("80",()=>{
    console.log("成功");
})

通过终端运行node代码,来看看结果

ajax请求传递

在向后端发送请求时,常用到get、post请求,同样,表单的数据可以通过ajax以post请求发送数据给后端。以上面例子为基础,该方法的前端代码如下。

	 $("#inp3").on("click",function(){
        let user = $("#inp1").val();
        let password = $("#inp2").val();
        $.ajax({
        url:"todata",
        type:"post",
        data:{
            user,
            password
        },
        success:(data)=>{
            alert(data)
        }
         })
    })

这里,我们将两个input的值获取到,然后绑定提交按钮的提交按钮进行ajax请求发送,发送给后端的数据存储在data属性中。后端同样通过req.body获取到。这里需要特别注意的是form表单不需要写action值,表单中button按钮需要阻止默认行为(不然会点击直接发送请求导致ajax请求会失败),或是用input标签type为button类型。

表单序列化

这种发送是表单提交的常用方法,它也是通过ajax发送请求,也可以将name属性作为发送后端的属性名直接发送。可以说是以上两种方法的结合。

		$("#inp3").on("click",function(){
        $.ajax({
        url:"todata",
        type:"post",
        data:$("form").serialize(),
        success:(data)=>{
            alert(data)
        }
         })
    })

只需要通过$(“form”).serialize()这个方法,就能获取含name属性值。

关于使用nodejs怎么获取表单数据问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注本站行业资讯频道了解更多相关知识。

相关推荐:

nodejs如何检测文件是否存在

这篇文章将为大家详细讲解有关nodejs如何检测文件是否存在,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 检测方法:1、使用“fs.exists(path,callback)”;2、使用“awaitutil.promisify(fs.stat)('文件...

手机端与网页通过websocket通信

手机端与网页通讯,使用websocket完成二者之间的联通。websocket选用socket.io类实现。服务器端,使用nodejs,代码依赖了express和socket.io。首先建立一个http服务器varapp=require('express')();varserver=require(...

如何让nodeJS支持ES6的babel

小编给大家分享一下如何让nodeJS支持ES6的babel,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!要使用Babel,我们需要nodeJS的环境和npm,主要安装了nodeJS,npm就默认安装了,现在安装nodeJS...

ws是不是nodejs的内置模块

这篇文章给大家分享的是有关ws是不是nodejs的内置模块的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 ws不是nodejs的内置模块。ws是nodejs的一个WebSocket库,可以用来创建服务,需要通过“npminstallws”命令进行安装后才可使用,因此不是n...

node.js如何引用外部js

这篇文章给大家分享的是有关node.js如何引用外部js的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。基本语句require('js文件路径');使用方法举个例子,在同一个目录下,有fun、fun1、fun2三个js文件。fun.jsvarfun1=r...

vue+nodejs获取多个表数据的方法是什么

这期内容当中小编将会给大家带来有关vue+nodejs获取多个表数据的方法是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。读取两个表的数据将用户及图像联系在一起效果前端实现修改关联的时候,前端向后端传入array[number],后端存为字符串这时在前端获取数...

Nodejs中获取参数的方法有哪些

这篇文章给大家分享的是有关Nodejs中获取参数的方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。获取请求很中的参数是每个web后台处理的必经之路,nodejs的express框架提供了四种方法来实现。req.bodyreq.queryreq.paramsreq....

Nodejs模块机制介绍

这篇文章主要讲解了“Nodejs模块机制介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nodejs模块机制介绍”吧! Node应用由模块组成,其模块系统借鉴了CommonJS模块规范,但是并未完全按照规范实现,而是根据自身需求增加了一些特性,算是...