当前位置: 移动技术网 > IT编程>开发语言>正则 > 新手小白在node的post方法跟get方法接收参数踩的坑

新手小白在node的post方法跟get方法接收参数踩的坑

2020年10月23日  | 移动技术网IT编程  | 我要评论
新手小白在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

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网