首页 > 移动平台 > 详细

使用axios发送请求,遇到会发两次的情况

时间:2019-05-14 10:03:07      阅读:270      评论:0      收藏:0      [点我收藏+]

在学习php&mySQL的过程中,前端nuxt用(vue官方推荐的)axios发送post请求,以实现向数据库插入页面提交数据的功能。

发现功能是实现了,但数据库中表的数据是这样的

技术分享图片

很莫名其妙的多出空行,由于是初学者,费了好长时间找是不是自己php连接数据库的代码出了什么问题,但并没有发现疏漏。

于是找回前端,确定axios请求只触发了一次后,看了下浏览器控制台network,发现每次点击提交都会出现2次请求,对比一下发现第一次请求是这样的

技术分享图片

下边的login.php才是正常的post请求。那么本着不懂就要问的不要脸精神,去网上找答案:

https://blog.csdn.net/Homer_Simpson/article/details/89188068

写得很明白,复杂请求,就会自动进行一次预请求,和我们没关系。那么尝试解决这个问题:php中做一下判断

1 if (!$_SERVER[‘REQUEST_METHOD‘]=== ‘POST‘) {
2     die(‘不是post请求忽略‘);
3 }

自己是个菜鸟,看php连接数据库的写法是这样的:

技术分享图片

就给die()方法也拿过来试一哈,结果不出意料的失败了。于是接着找:

https://blog.csdn.net/qq_30378229/article/details/78576625

写得原因是一样的,但这个给出了解决的代码:

1 if(strtoupper($_SERVER[‘REQUEST_METHOD‘])== ‘OPTIONS‘){
2     echo ‘options请求,已忽略。‘;
3     exit; 
4 }

亲测有效,真是感谢两位素未谋面的朋友。虽然自己加上去的输出语句并没有打印出来(笑cry),但数据库中的数据已经完全正常:

技术分享图片

 

使用axios发送请求,遇到会发两次的情况

原文:https://www.cnblogs.com/bjhl/p/10860118.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!