使用nodejs怎么获取表单数据(nodejs,开发技术)

时间:2024-05-09 02:02:42 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

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

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

form表单传递

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

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

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

constexpress=require("express");constapp=express();app.use(express.static("./"))varbodyParser=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代码,来看看结果

使用nodejs怎么获取表单数据

ajax请求传递

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

 $("#inp3").on("click",function(){letuser=$("#inp1").val();letpassword=$("#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类型。

使用nodejs怎么获取表单数据

表单序列化

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

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

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

使用nodejs怎么获取表单数据

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:使用nodejs怎么获取表单数据的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:如何在vs中设置css缩进下一篇:

3 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18