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 相关文章推荐
海量经典的jQuery插件集合
Jan 12 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
Jul 10 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
Apr 25 Javascript
完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
Dec 17 Javascript
js删除局部变量的实现方法
Jun 25 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
Dec 20 Javascript
Javascript中for循环语句的几种写法总结对比
Jan 23 Javascript
Vue单页式应用(Hash模式下)实现微信分享的实例
Jul 21 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
Aug 25 Javascript
vue设置导航栏、侧边栏为公共页面的例子
Nov 01 Javascript
Vue点击切换Class变化,实现Active当前样式操作
Jul 17 Javascript
jQuery实现简单评论区功能
Oct 26 jQuery
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
德生S2000收音机更换“钕铁硼”全频扬声器
2021/03/02 无线电
php生成图形验证码几种方法小结
2013/08/15 PHP
php根据操作系统转换文件名大小写的方法
2014/02/24 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
基于PHP-FPM进程池探秘
2017/10/17 PHP
浅谈javascript的数据类型检测
2010/07/10 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
文本框input聚焦失焦样式实现代码
2012/10/12 Javascript
JS继承--原型链继承和类式继承
2013/04/08 Javascript
jQuery中实现动画效果的基本操作介绍
2013/04/16 Javascript
Node.js开发指南中的简单实例(mysql版)
2013/09/17 Javascript
js获取URL的参数的方法(getQueryString)示例
2013/09/29 Javascript
javascript复制粘贴与clipboardData的使用
2014/10/16 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
2014/10/28 Javascript
Jquery搜索父元素操作方法
2015/02/10 Javascript
js实现文字闪烁特效的方法
2015/12/17 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
2016/01/08 Javascript
JS高级运动实例分析
2016/12/20 Javascript
详解js中Number()、parseInt()和parseFloat()的区别
2016/12/20 Javascript
给Easyui-Datebox设置隐藏或者不可用的解决方法
2017/05/26 Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
2017/11/07 Javascript
基于Vuex无法观察到值变化的解决方法
2018/03/01 Javascript
javascript实现评分功能
2020/06/24 Javascript
vue 获取元素额外生成的data-v-xxx操作
2020/09/09 Javascript
手写Vue源码之数据劫持示例详解
2021/01/04 Vue.js
Python 将 QQ 好友头像生成祝福语的实现代码
2020/05/03 Python
你应该知道的Python3.6、3.7、3.8新特性小结
2020/05/12 Python
利用CSS3的flexbox实现水平垂直居中与三列等高布局
2016/09/12 HTML / CSS
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
法国创作个性化T恤衫和其他定制产品平台:Tostadora
2018/04/08 全球购物
潘婷洗发水广告词
2014/03/14 职场文书
难忘的一课教学反思
2014/04/30 职场文书
Nginx配置并兼容HTTP实现代码解析
2021/03/31 Servers
Python3中最常用的5种线程锁实例总结
2021/07/07 Python
Python可视化神器pyecharts绘制水球图
2022/07/07 Python