问题
我们有时候会遇到明明url地址没有写错,请求方式也基本正确,但是在控制台中确没有打印出响应信息的情况。
此时,打开网络,我们会看到有两个一样的请求
我们发现其中一个的请求方法是OPTIONS,不是我们所发送的POST请求。
点开下面那一个会发现更不一样了。
原因
我们浏览器在发送POST请求的时候,会先发一次OPTIONS请求(也就是预检),此次请求服务器发送的是一个空的内容。
出现这种情况的可能原因:后端人员服务器没有放行第二次响应
如果你不是自己写的后端,那么你可以大胆放心的去找你的后端了。
ps:前提是你的请求参数没有发错哈。
这里还有另外一种情况,那就是你自己写node的时候。
axios默认提交使用的是application/json 格式。如果使用这种编码方式,那么传递到后台的将是序列化后的json字符串。如果此时后台采用的是对付application/x-www-form-urlencoded的方式将会产生问题。
解决办法
那此时我们就需要去修改一下后台的代码:
1.引用body-parse
body-parse是一个常用的 Node.js 中间件 ,用于解析 POST 请求中的请求体数据,可以帮助我们更好的解析来自客户端的表单数据、JSON数据等不同格式的请求体数据。
ini
const bodyParse=require('body-parse')
2.在post接口函数使用
javascript
app.post('/lanqiao/information',bodyParser.json(),(req,res) => {
//处理函数的代码
})
完成上面两步之后,我们打开前端页面就可以在控制台看到我们所需要内容了。