jQuery之ajax删除详解


Posted in Javascript onFebruary 27, 2014

首先看html界面的代码:

<a href="javascript:;"  onclick="delete_order('<?php echo $item[order_id]; ?>')"><img src="images/admin/delete-icon.png" border="0" /></a>这个一个图片链接,表示删除。它并不跳转到某个界面,而是点击时出发click事件。

click事件执行delete_order()方法。这个方法中传递了一个参数,订单号。通过这个参数,可以去执行相应的删除操作。

下面jQuery代码:

<script>
    function delete_order(order_id){    
        confirm_ = confirm('This action will delete current order! Are you sure?');
        if(confirm_){
            $.ajax({
                type:"POST",
                url:'index.php/admin/order/del/'+order_id,
                success:function(msg){
                    //alert("test order");
                    //all delete is success,this can be execute
                    $("#tr_"+order_id).remove();
                }
            });
        }
    };
</script>

首先出发一个提示框,确认删除吗?

如果确认的话,执行ajax操作。

在jQuery中,有一个$.ajax()的方法。

这里有三个参数,一个是类型,这里面用的是POST,

第二个是地址,这个很关键,它负责将数据,传送到后台服务器去执行。

第三个参数是一个回调函数,如果执行删除成功,就会执行的操作。这个时候,就可以执行一些动作,比如将这条已删除的记录,移除。结合的是下面的这行代码。为没条记录,赋予一个动态的id,作为删除时使用的依据。这里要注意的是,必须后台执行的所有都成功之后,才会执行这个回调函数。

<tr id="tr_<?php echo $item['order_id']; ?>"></tr>

下面的是后台执行的代码

function del() {
    $order_id = $this->uri->segment(4);
    if ($order_id > 0) {
      $this->db->delete('billing', array('order_id' => $order_id));
      $this->db->delete('shipping_address', array('order_id' => $order_id));
      $this->db->delete('order_products', array('order_id' => $order_id));
      $this->db->delete('comments', array('order_id' => $order_id));
    }
    $this->db->delete($this->tbname, array('id' => $order_id));
  }

这个后台控制器中的一个方法,通过$this->uri->segment();方法获取参数,将参数赋值给变量order_id。

然后,就可以在后台执行相应的删除操作了。如果删除都成功的话,就会有一个默认的信息传递给success方法。

今天遇到的success方法执行不成功的原因,就是因为有一个删除操作执行不成功,那个隐藏的信息传递不到success方法。为什么不成功呢?因为$this->db->delete('shipping_address', array('order_id' => $order_id));与数据库中的表名不对应,大概是被别人修改了。

后来修正之后,success方法成功执行。

这是一个简单的ajax实例。可以简单的说明ajax的作用。不需要刷新界面,直接偷偷的去后台进行操作即可,操作成功后,还可以执行相应的动作,通过jQuery来完成

Javascript 相关文章推荐
node.js中的path.isAbsolute方法使用说明
Dec 08 Javascript
jQuery中scrollTop()方法用法实例
Jan 16 Javascript
JS中创建函数的三种方式及区别
Mar 13 Javascript
全面解析Angular中$Apply()及$Digest()的区别
Aug 04 Javascript
node网页分段渲染详解
Sep 05 Javascript
详解JavaScript中this的指向问题
Jan 20 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
Nov 24 Javascript
node.js中fs.stat与fs.fstat的区别详解
Jun 01 Javascript
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
Feb 11 Javascript
你了解vue3.0响应式数据怎么实现吗
Jun 07 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
Apr 17 Javascript
Canvas跟随鼠标炫彩小球的实现
Apr 11 Javascript
jQuery之字体大小的设置方法
Feb 27 #Javascript
jquery validate 自定义验证方法介绍 日期验证
Feb 27 #Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
Feb 27 #Javascript
jquery退出each循环的写法
Feb 26 #Javascript
jQuery中的val()示例应用
Feb 26 #Javascript
jquery live()调用不存在的解决方法
Feb 26 #Javascript
js获得参数的getParameter使用示例
Feb 26 #Javascript
You might like
php过滤敏感词的示例
2014/03/31 PHP
百度地图API使用方法详解
2015/08/25 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
2016/01/07 PHP
js获取多个tagname的节点数组
2013/09/22 Javascript
JavaScript中具名函数的多种调用方式总结
2014/11/08 Javascript
jQueryMobile之Helloworld与页面切换的方法
2015/02/04 Javascript
BootStrap的alert提示框的关闭后再显示怎么解决
2016/05/17 Javascript
基于Bootstrap里面的Button dropdown打造自定义select
2016/05/30 Javascript
jQuery实现的简单分页示例
2016/06/01 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
js实现select选择框效果及美化
2016/08/19 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
angular.js之路由的选择方法
2016/09/24 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
2018/03/13 Javascript
纯JS实现出生日期[年月日]下拉菜单效果
2018/06/01 Javascript
[31:00]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS iG
2014/05/25 DOTA
[49:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第二场 3月4日
2021/03/11 DOTA
Python中3种内建数据结构:列表、元组和字典
2014/11/30 Python
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
Python实现周期性抓取网页内容的方法
2015/11/04 Python
Python实现求数列和的方法示例
2018/01/12 Python
Python三种遍历文件目录的方法实例代码
2018/01/19 Python
Python 数据处理库 pandas 入门教程基本操作
2018/04/19 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
基于virtualenv创建python虚拟环境过程图解
2020/03/30 Python
python的reverse函数翻转结果为None的问题
2020/05/11 Python
澳大利亚工具仓库:Tools Warehouse
2018/10/15 全球购物
C语言50道问题
2014/10/23 面试题
推广普通话标语
2014/06/27 职场文书
小学标准化建设汇报材料
2014/08/16 职场文书
我爱祖国演讲稿
2014/09/02 职场文书
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
2021/04/16 PHP
linux下安装redis图文详细步骤
2021/12/04 Redis
图神经网络GNN算法
2022/05/11 Python
Java死锁的排查
2022/05/11 Java/Android