近来用了一下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];

本文介绍了一个简单的Ajax与Yii框架交互的例子。前端通过JavaScript实现数据的获取与更新,而后端则利用Yii框架处理请求并返回JSON数据。文章详细展示了前端JS代码与后端控制器代码。
4565

被折叠的 条评论
为什么被折叠?



