新手小白在node的post方法跟get方法接收参数踩的坑
程序员文章站
2022-01-01 12:24:26
新手小白在node的post方法跟get方法接收参数踩的坑在postman里测试方法都没有问题,但是前端post调用时后台就只接收到了请求,没有接收到参数。...
新手小白在node的post方法跟get方法接收参数踩的坑
文章目录
1.前言
最近自己开发了一个新项目,同时使用的技术也是之前没有用过的,属于小白一个,遇到问题找半天都没搞定,前端使用的是vue,后台使用的是node.js写的接口。
2.问题
后台写了两种接口,post方式跟get方式。
使用postman进行接口测试,post接口跟get接口都没有问题
在前端post调用时,
后端能接收到请求,但拿不到参数
get请求就可以调用成功
找半天不知道是哪里的问题。。。。
3.解决过程
在postman里能够调用成功,但是前端却不行,仔细观察控制台
前端调用接口传递的参数是在Request Payload里的,跟postman的传参方式完全不同。
在我的理解里,postman传参的本质还是get传参,因为还是写在url后面的。
所以如果你的后台写的接收参数的方法没有根据post跟get请求去写的话,就算在postman里成功了,当你真正从网页端发出请求时,就会有问题了。。。
因为我就是没有根据post跟get请求去写接收的参数。。。
我的后台写的接收参数都是req.query,但是req.query只是获取get方法传递的参数,而刚好postman发出的请求是直接写在url上的,所以后台使用req.query并没有问题。。。
没有仔细去理解,真是搞死小白。。。
补充一下:req.query跟req.body的区别:
- 共同点:两者皆是属于node.js获取参数的方法
- 区别点:
- req.query用来获取get方法传递的参数
- req.body用来获取post方法传递的参数,req.body需要借助第三方插件body-parser来配置
配置body-parser插件:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
//传递头信息application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({extended:false}))
//传递头信息
app.use(bodyParser.json());
所以,后台的接口要根据你的请求方式合理运用好req.query跟req.body就不会有问题了!!!
吃一堑长一智!!!!!
如果有写错或者不足的地方,还请在评论区指正!!我会及时修改!!!!!!
请尊重原创,如需转载,还请注明原作者,原文链接,谢谢啦!!!
本文地址:https://blog.csdn.net/caixuanji/article/details/109236597
上一篇: 正则表达式中两个反斜杠的匹配规则详解