Yii 2框架使用Ajax与后端交互

近来用了一下Ajax技术做了一下与yii框架的后台交互,虽然不是很复杂,但是还是写一下。

前端JS代码:

function delete(id){
    if(confirm("确认删除吗"))
        $.ajax({
            url : "index.php?r=nav/delete",
            type : 'post',
            data : {"id":id},
            dataType : 'json',
            async : false,
            success : function(data){
                if(data.status)
                    window.location.reload();
                else
                    alert("删除失败");
            },
            error : function(){
                alert("根本没有传过去");
            }
        });
}

后端控制器代码:

public function actionDelete(){
        $id = \Yii::$app->request->post("id", '');
        $status = false;
        if(NavForm::delete($id))
            $status = true;
        return json_encode(['status' => $status]);
    }

这样就完成了一次Ajax交互。

其中前端的url参数可能会遇到点问题,实在不知道怎么写url的话,就先随便写一个,之后再在浏览器中用控制器查看json数据发送到哪去了,再根据结果拼接正确的url。

控制器中返回json数据有两种方式:

1.return json_encode(['status'] => $status);

2.在返回代码前添加返回头信息:

Yii::$app->response->format = Response::FORMAT_JSON;

之后返回数组就可以了:

return ['status' => $status];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值