实习小结十二:Ajax的get函数使用实例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了实习小结十二:Ajax的get函数使用实例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3194字,纯文字阅读大概需要5分钟。
内容图文
![实习小结十二:Ajax的get函数使用实例](/upload/InfoBanner/zyjiaocheng/156/993eab9ab04142abbf9f3be61e3aacd8.jpg)
首先贴一下ajax代码:
<script>
$(function() { $(".post-list-table .check").click(function() {var post_id = $(this).parent().attr("alt");
var status = $(this).attr("alt");
$.get("/post/operate/"+ post_id +"/?status="+ status, function(ret) {
console.log(ret);
if(ret[1] == 1) {
$("table tbody .status-"+ post_id).html("Published");
} elseif(ret[1] == -1) {
$("table tbody .status-"+ post_id).html("Rejected");
} else {
$("table tbody .status-"+ post_id).html("Draft");
}
});
});
$(".post-list-table .delete").click(function() {if(confirm('确认删除?')) {
var url = $(this).attr('url');
$.getJSON(url, function(ret) {console.log(ret);
if(ret[0] == true) {
$('.delete[url="'+url+'"]').parents('tr').remove();
}
});
}
});
})
script>
从代码看出来,实现的是更改状态和删除两个功能,分别来自不同的action,接下来贴controller里面的action。
publicfunctionoperateAction()
{if(!$this->userHasPermission('ADMIN', 'EDIT_REVIEW'))
{
return$this->requirePermission('ADMIN', 'EDIT_REVIEW');
}
$ret = false;
$request = $this->getRequest();
$log_table = $this->getPostLogTable();
$user_service = $this->getServiceLocator()->get('UserService');
$curr_user = $user_service->getCurrentUser();
$post_id = $this->params()->fromRoute('id', null);
$post = $this->getPostTable()->getPostById($post_id);
$from_status = $post['post_status'];
$status = $request->getQuery('status', null);
$log_row = array();
if (!is_null($status)) {
if($post['post_status'] != $status) {
$ret = $this->getPostTable()->checkStatus($post['id'], (int)$status);
//var_dump($ret);exit();if ($ret) {
$log_row['post_id'] = $post_id;
$log_row['user_id'] = $curr_user->id;
$log_row['user_name'] = $curr_user->username;
$log_row['date'] = date('y-m-d',time());
$log_row['from_status'] = $from_status;
$log_row['to_status'] = $status;
$log_table->addRows($log_row);
}
}
$ret = true;
}
$jsonModel = new JsonModel(array($post_id, $ret ? (int)$status : $ret));
//var_dump($jsonModel);exit();return$jsonModel;
}
publicfunctiondeletePostAction(){if(!$this->userHasPermission('ADMIN', 'VIEW_PRODUCT'))
{
return$this->requirePermission('ADMIN', 'VIEW_PRODUCT');
}
$post_id = (int) $this->params()->fromRoute('post_id', 0);
$ret = false;
if ($post_id) {
$table = $this->getPostTable();
$table->deleteRowById($post_id);
$this->layout()->selectedTab = 'post-list';
$ret = true;
}
returnnew JsonModel(array($ret));
}
两个action的路由设置就不写了,也没有具体的phtml网页,只是实现功能而已。
ajax代码中,通过.get(url,data)函数,注意,此处的data是指action或者phtml返回的JsonModel的array数组,是返回的所有数据。实际上,在click之后,get的第一个参数,就执行了action,顺便获取了数据,然后根据参数,执行操作,这是非常方便的。
贴一下图吧,虽然看不出效果:
点击绿勾的话,status就是变成Published,点击红叉,就会变成Rejected,红垃圾箱,就是点击删除。
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了实习小结十二:Ajax的get函数使用实例,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
内容总结
以上是互联网集市为您收集整理的实习小结十二:Ajax的get函数使用实例全部内容,希望文章能够帮你解决实习小结十二:Ajax的get函数使用实例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。