yii2.0 ajax post 提交 400(BadRequest) 解决办法

本文介绍了一种在使用YII2框架时遇到AJAX POST请求返回400错误的问题及解决方案。通过正确添加_csrf令牌到POST数据中解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

$.ajax({

                    type:"post",
                    url:"http://XXX.XXX.XXX/basic/web/index.php?r=admin/publish",
                    data:{title:"haha",description:"hehe",imgurl:"www.baidu.com",url:"www.zhidu.co"},
                    dataType:"json",
                    success: function(data) {
                        console.log(data);
                    },
                    error:function() {
                        console.log(321)
                    }
                })

像往常一样用ajax提交数据,却一直400BadRequest,检查前后台代码确认无误后就各种csdn,stackoverflow,谷歌仍然无果。

无意中搜索yii ajax post(因为用的是2.0,所以之前一直是搜索yii2.0 ajax post,同仁引以为戒啊) 发现一篇文章有相关解决办法,但美中不足的是此法是YII1.0的方法,寻寻觅觅之后,2.0用的参数是_csrf,获得值方法是<?php echo \Yii::$app->request->getCsrfToken()?>,因此只需将原代码改为如下即可!

token = "<?php echo \Yii::$app->request->getCsrfToken()?>",

$.ajax({

                    type:"post",
                    url:"http://XXX.XXX.XXX/basic/web/index.php?r=admin/publish",
                    data:{title:"haha",description:"hehe",imgurl:"www.baidu.com",url:"www.zhidu.co",_csrf: token},
                    dataType:"json",
                    success: function(data) {
                        console.log(data);
                    },
                    error:function() {
                        console.log(321)
                    }
                })


http://www.51ou.com/browse/php/19967.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值