JQuery中Ajax的操作

来源:互联网 发布:ubuntu 等待安装 卡住 编辑:程序博客网 时间:2024/05/20 23:34

作者:autumn20080101-----感谢原创,感谢作者!!

JQuery中Ajax的操作

标签: jqueryajaxasynchronousweb开发
 61531人阅读 评论(10) 收藏 举报
本文章已收录于:
 分类:
作者同类文章X
    作者同类文章X

               Java软件开发中,后台中我们可以通过各种框架,像SSH等进行对代码的封装,方便我们对Java代码的编写,例如,Struts,SpringMVC对从前台到action的流程进行封装控制,使我们只需要进行一些简单配置就可以实现;而Spring进行了对各种对象的管理进行封装,提供了AOP编程的方式,大大方便了我们;而Hibernate和IBatis则是对JDBC代码进行封装,不需要我们每次都写那些重复而繁杂的JDBC代码。

       

               前台呢,对于页面一些效果,验证等,我们都是通过JavaScript语言进行完成的,但是它也就像我们的Java代码一样,是最前台语言最基础的,而JQuery则是对js代码进行封装方便我们前台代码的编写,而且它还有一个非常大的优势就是解决了浏览器的兼容问题,这也是我们使用它非常重要的原因之一。

       

               而现在为了满足用户的需求,Ajax(Asynchronous Javascript + XML异步刷新起到了无可比拟的作用,以前写Ajax操作,总是需要我们想JDBC代码一样进行几个必备的步骤:

      AJAX——核心XMLHttpRequest对象,而JQuery也对Ajax异步操作进行了封装,这里看一下几种常用的方式。 $.ajax,$.post, $.get, $.getJSON。

       

               一, $.ajax,这个是JQuery对ajax封装的最基础步,通过使用这个函数可以完成异步通讯的所有功能。也就是说什么情况下我们都可以通过此方法进行异步刷新的操作。但是它的参数较多,有的时候可能会麻烦一些。看一下常用的参数:      

       var configObj = {

             method   //数据的提交方式:get和post

             url   //数据的提交路劲

             async   //是否支持异步刷新,默认是true

             data    //需要提交的数据

             dataType   //服务器返回数据的类型,例如xml,String,Json等

             success    //请求成功后的回调函数

             error   //请求失败后的回调函数

          }

       

      $.ajax(configObj);//通过$.ajax函数进行调用。

       

                 好,看一个实际的例子吧,看一个进行异步删除的例子:

      [javascript] view plain copy print?在CODE上查看代码片派生到我的代码片
      1. <span style="font-size: 18px;">         // 删除  
      2.                 $.ajax({  
      3.                     type : "POST",  //提交方式  
      4.                     url : "${pageContext.request.contextPath}/org/doDelete.action",//路径  
      5.                     data : {  
      6.                         "org.id" : "${org.id}"  
      7.                     },//数据,这里使用的是Json格式进行传输  
      8.                     success : function(result) {//返回数据根据结果进行相应的处理  
      9.                         if ( result.success ) {  
      10.                             $("#tipMsg").text("删除数据成功");  
      11.                             tree.deleteItem("${org.id}"true);  
      12.                         } else {  
      13.                             $("#tipMsg").text("删除数据失败");  
      14.                         }  
      15.                     }  
      16.                 });  
      17. </span>  


                 二,$.post,这个函数其实就是对$.ajax进行了更进一步的封装,减少了参数,简化了操作,但是运用的范围更小了。$.post简化了数据提交方式,只能采用POST方式提交。只能是异步访问服务器,不能同步访问,不能进行错误处理。在满足这些情况下,我们可以使用这个函数来方便我们的编程,它的主要几个参数,像method,async等进行了默认设置,我们不可以改变的。例子不再介绍。

      url:发送请求地址。

      data:待发送 Key/value 参数。

      callback:发送成功时回调函数。

      type:返回内容格式,xml, html, script, json, text,_default。

       

              三,$.get,和$.post一样,这个函数是对get方法的提交数据进行封装,只能使用在get提交数据解决异步刷新的方式上,使用方式和上边的也差不多。这里不再演示。

       

              四, $.getJSON,这个是进一步的封装,也就是对返回数据类型为Json进行操作。里边就三个参数,需要我们设置,非常简单:url,[data],[callback]。

       

              其实会了$.ajax方法,其它的就都会使用了,都是一样的,其实非常简单。

       

              但是这里还有一个问题,比较麻烦,就是如果页面数据量比较大,该怎么办呢?在常规表单的处理中,我们使用框架Struts2可以通过域驱动模式进行自动获取封装,那么通过ajax,如何进行封装呢?这里JQuery有一个插件,Jquery Form,通过引入此js文件,我们可以模仿表单Form来支持Struts2的域驱动模式,进行自动数据的封装。用法和$.ajax类似,看一下实际的例子,这里写一个保存用户的前台代码:

       

      [javascript] view plain copy print?在CODE上查看代码片派生到我的代码片
      1. <span style="font-size: 18px;"> $(function(){  
      2.         var options = {  
      3.             beforeSubmit : function() {//处理以前需要做的功能  
      4.                 $("tipMsg").text("数据正在保存,请稍候...");  
      5.                 $("#insertBtn").attr("disabled"true);  
      6.             },  
      7.             success : function(result) {//返回成功以后需要的回调函数  
      8.                 if ( result.success ) {  
      9.                     $("#tipMsg").text("机构保存成功");  
      10.                                       
      11.                                        //这里是对应的一棵树,后边会介绍到,  
      12.                     // 控制树形组件,增加新的节点  
      13.                     var tree = window.parent.treeFrame.tree;  
      14.                     tree.insertNewChild("${org.id}", result.id, result.name);  
      15.                 } else {  
      16.                     $("#tipMsg").text("机构保存失败");  
      17.                 }  
      18.                 // 启用保存按钮  
      19.                 $("#insertBtn").attr("disabled"false);  
      20.             },  
      21.             clearForm : true  
      22.         };  
      23.       
      24.         $('#orgForm').ajaxForm(options); //通过Jquery.Form中的ajaxForm方法进行提交  
      25.     });  
      26. </span>  


       

             这样我们就不用再进行数据data的封装处理,大大简化了我们ajax的操作这样异步刷新的操作。综上为JQuery中ajax的操作,感觉使用多了,和form表单的处理还是非常相似的,只不过实现的功能不一样罢了。学习编程,其实就是学习对数据的流转处理,如何从前台获取,传输到服务器进行相应的处理,然后返回,进行相关的显示,把这个流程通过一些技术实现,就完成了软件的开发,感觉还是非常有意思的。

       

            更多JQuery的学习,还需要我们通过查询api文档进行完成:http://hemin.cn/jq/

      16
      2
       
       

        我的同类文章

        http://blog.csdn.net
        • AJAX——ASP.NET AJAX(三)ScriptManagerProxy,Timer和UpdateProgress2013-12-18
        • AJAX——ASP.NET AJAX框架(一)ScriptManager2013-12-16
        • AJAX——JavaScript面向对象2013-12-14
        • DOM(二)——XML DOM2013-12-04
        • AJAX初步学习2013-11-20
        • AJAX——ASP.NET AJAX(二)UpdatePanel2013-12-16
        • AJAX——JSON数据格式2013-12-15
        • AJAX——核心XMLHttpRequest对象2013-12-04
        • DOM(一)——HTML DOM2013-11-27

        参考知识库

        更多资料请参考:
        猜你在找
        js+ajax+jquery+easyui从入门到精通(项目实战)
        2016年新课程的第一阶段javascript+jquery课程
        征服JavaScript高级程序设计与应用实例视频课程
        2016JavaScript 基础加强
        ArcGIS for JavaScript
        jQuery+ajax操作大全
        jQuery - Ajax - readyState获取请求操作的当前状态
        JQuery中Ajax的操作
        用jQuery实现aspnet 20 treeview控件完全无刷新操作实例AJAX的增删改选择以及展开收缩节点
        jQuery的AJAX操作分析

        原创粉丝点击
        热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 刚下生小狗腿后腿站不起来怎么办 脚被凳子压到了流血了怎么办还很痛 小狗脚被凳子压出血了怎么办 怀孕8个月脐带绕颈一周怎么办 练完瑜伽大腿两侧肌肉麻木怎么办 突然吃了辣火锅肚子烫怎么办 副鼻窦炎鼻头顶痛鼻子臭怎么办 一岁宝宝夜里睡觉不踏实怎么办 分手一个月了还是放不下前任怎么办 当晚上遇到烦心事睡不着该怎么办 为什么白天太累晚上就睡不着怎么办 白天走累的脚痛晚上睡不着怎么办 1岁宝宝感冒咳嗽流泪流鼻涕怎么办 宝宝不含母乳只吃奶瓶怎么办 宝宝习惯奶嘴不咬妈妈的乳头怎么办 我的乳晕和私处色素沉着怎么办 双盘打坐膝痛腿脚心处紫青怎么办? 双盘打坐两膝盖不能着地怎么办? 做完蹲起之后腿疼的受不了怎么办 孩子游泳学不会不想去了怎么办 自由泳打腿走水但水花大怎么办 老师上课发现学生课上自慰怎么办 生完孩子腿粗屁股大怎么办 产后42天检查子宫偏大怎么办 崇拜瑜伽老师喜欢上他了怎么办 练瑜伽下不了腰贴不住腿怎么办 吃母乳宝宝吸的奶头疼怎么办 孩子吃奶把奶头咬破了怎么办 奶头边上让孩子咬破了吃奶疼怎么办 腰部受过伤久坐缓解腰疼怎么办 小孩八个月了还在软得很怎么办 产后第三天乳房胀痛有硬块怎么办 怀孕七个多月了胎位不正怎么办 怀孕6个月梅毒1:4怎么办 怀孕了胃酸胃涨吐酸水怎么办 怀孕了胃酸胃胀吐酸水怎么办 练瑜伽大腿外侧扭筋了怎么办 膝盖运动时疼痛睡觉不疼怎么办 在农村里床上老是有小蜈蚣该怎么办 瑜伽垫晒太阳后散发的甲醛怎么办 杯子盖上的皮垫子掉了漏水怎么办