`

jQuery Ajax应用总结

 
阅读更多

 
(友情提示:本博文章欢迎转载,但请注明出处:陈新汉,http://www.blogjava.net/hankchen

  jQuery提供了简单而强大的选择器功能,同时对Ajax操作也给出了很好的支持。在Ajax方面,jQuery除了提供底层的jQuery.ajax()方法外,也提供了下面的简单方法:

(1)       jQuery.get(url, [data], [callback], [type])

(2)       jQuery.getJSON(url, [data], [callback])

(3)       jQuery.getScript(url, [callback])

(4)       jQuery.post(url, [data], [callback], [type])

由于jQuery.ajax()功能比较强大,可配置的参数比较多,现在主要对这个方法的注意事项进行总结。

1.       jQuery.ajax()默认是以异步的方式请求的,如果需要同步,使用参数async为false。因为有些应用必须同步请求数据的。例如,某些FlashJS交互应用中,请求一个JS函数需要马上得到返回数据。此时,必须采用同步的Ajax调用方式。

2.       Ajax如果是Get请求,返回的数据一般会被浏览器缓存,如果不想被缓存,可以设置cache参数为false;或者发送请求是带上时间戳,这样浏览器会认为是新的请求,而重新从服务器加载数据。当然,如果是POST发送的请求则不会被缓存。

3.       dataType预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP MIME 信息返回 responseXML responseText,并作为回调函数参数传递,可用值:

1"xml": 返回 XML 文档,可用 jQuery 处理。

2"html": 返回纯文本 HTML 信息;包含的script标签会在插入dom时执行。

3"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了"cache"参数。'''注意:'''在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOMscript标签来加载)

4"json": 返回 JSON 数据

5"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。

6"text": 返回纯文本字符串

         其中,"script""json"设置可以解决Ajax的跨域问题。

4.       如果服务器返回的一个字符串或数值,则使用普通的ajax调用即可。

如果服务器返回的是一个JSON对象,那么最好采用jQuery.getJSON的方式,或者设置dataType=json。因为浏览器解析JSON对象需要时间,直接返回JSON对象,节省解析时间,可以避免在服务器明明有返回数据,但是浏览器得不到的错误。

5. Ajax调用是需要时间的,所以一般将Ajax调用后的处理代码全部放在回调方法中。不能采用这样的处理方式:

function getMyPrizeList(){

    if(isNotEmpty(uid)){

        var obj=new Object();

        try{

           jQuery.ajax({type:"GET",url:"someurl",async:false,cache:false,dataType:"script",scriptCharset:"gbk",success:function(json){

                     obj=json;

                  }

              });

           }catch(e){}

           obj=eval("("+obj+")");

           //alert(obj);

           var str="";

           for(var i in obj)

           {

               str+='<tr>'+'<th>'+prizearray[obj[i].prizeno]+'</th>'

               str+='<td>'+'CD-KEY'+obj[i].cdkey+'</td>'

               str+='<td>'+'期限:'+obj[i].expiratedate+''+'</td></tr>';

           }

           jQuery("#prizelist").append(str);

        }

}

而必须这样处理:即将处理代码放到success函数里面!

function getMyPrizeList(){

    if(isNotEmpty(uid)){

        var obj=new Array();

        try{

                  jQuery.ajax({type:"GET",url:"someurl",

                               cache:false,

                               dataType:"script",

                               scriptCharset:"gbk",

                               success:function(json){

                                 try{

                                      obj=result;  

                                }catch(e){}

                                jQuery("#prizelist").html("");

                                var str="";

                                for(var i=0;i<obj.length;i++ ){

                                    str+='<tr><th>'+prizearray[obj[i].prizeno]+'</th>';

                                    str+='<td>CD-KEY'+obj[i].cdkey+'</td>';

                                    str+='<td>期限:'+obj[i].expiratedate+'</td></tr>';

                                }

                                jQuery("#prizelist").append(str);                   

                               }

                   });

           }catch(e){}

        }

}

6. jQuery.getJSON实例:

//内部函数,实现债务人详细信息的载入、设置值

    function innerShowDetail() {

       // 获得JSON格式的数据

       $.getJSON('load.do',{id : userId}, function(json) {

           // 根据key设置value

           for (key in json) {

              if(key == 'id'){

                  $('#detailDiv #' + key).val(json[key]);

              } else {

                  if(json[key] == ''){

                     // 没有值设置为空

                     $('#detailDiv #' + key).html(' ');

                  } else if(key == 'sex'){

                     $('#detailDiv #' + key).html(json[key] == '0' ? '' : '');

                  } else if(key == 'group'){

                     if(json[key] != null) {

                         $('#detailDiv #' + key).html(json[key]['groupName']);

                     }

                  } else {

                     $('#detailDiv #' + key).html(json[key]);

                  }

              }

           }

           //设置对话框标题和内容

           $('#detailDiv').removeAttr('class');

           dialog.setTitle('查看人员[' + json['userName'] + ']详细资料');

           dialog.setContent($('#detailDiv').html());

       });

    }

 (友情提示:本博文章欢迎转载,但请注明出处:陈新汉,http://www.blogjava.net/hankchen

分享到:
评论
1 楼 lilinhai548 2012-05-18  
function getMyPrizeList(){

    if(isNotEmpty(uid)){

        var obj=new Object();

        try{

           jQuery.ajax({type:"GET",url:"someurl",async:false,cache:false,dataType:"script",scriptCharset:"gbk",success:function(json){

                     obj=json;

                  }

              });

           }catch(e){}

           obj=eval("("+obj+")");

           //alert(obj);

           var str="";

           for(var i in obj)

           {

               str+='<tr>'+'<th>'+prizearray[obj[i].prizeno]+'</th>'

               str+='<td>'+'CD-KEY:'+obj[i].cdkey+'</td>'

               str+='<td>'+'期限:'+obj[i].expiratedate+'前'+'</td></tr>';

           }

           jQuery("#prizelist").append(str);

        }

}

相关推荐

    jQuery ajax应用总结

    以下是对jQuery AJAX应用的详细总结: 1. **jQuery中的AJAX调用**: - `$.get` 方法是最简单的GET请求,用于从服务器获取数据。例如: ```javascript $.get(url, function(data) { // 处理返回的数据 }); ```...

    Jquery ajax json 总结

    总结来说,JQuery AJAX 提供了与服务器异步交互的能力,而 JSON 则是高效的数据交换格式。两者结合使用,可以实现高效的前后端数据通信,提升用户体验,减少不必要的页面刷新。在实际项目中,了解并熟练掌握这两项...

    jquery Ajaxupload应用

    总结,jQuery AjaxUpload为开发者提供了强大的文件上传功能,结合服务器端的处理,可以构建出高效、友好的文件上传系统。无论是简单的个人项目还是复杂的商业应用,AjaxUpload都是一个值得信赖的工具。在实际应用中...

    jQuery AJAX应用实例总结

    本文实例总结了jQuery AJAX应用。分享给大家供大家参考,具体如下: AJAX 是指一种创建交互式网页应用的网页开发技术。 AJAX=异步JavaScript和XML(标准通用标记语言的子集)。 AJAX是一种用于创建快速动态网页的...

    jQuery实现AJAX应用

    ### jQuery实现AJAX应用知识点详解 #### 一、概述 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)是一种被广泛运用的技术,它允许网页在不重新加载整个页面的情况下,通过JavaScript与服务器进行数据...

    Jquery Ajax简易计算器

    **jQuery AJAX简易计算器** 在Web开发中,动态交互是提升用户体验的重要手段,而jQuery的AJAX功能正是实现这种交互的核心技术。本项目“jQuery AJAX简易计算器”旨在展示如何利用jQuery库与服务器端进行异步数据...

    jquery ajax 与后台验证

    总结,jQuery AJAX 结合无刷验证技术,能够为用户提供更流畅、快速的交互体验。理解并熟练掌握这些技术,对于提高网站的用户满意度至关重要。在实际开发中,还需要结合具体需求和场景进行灵活应用和优化。

    spring3 mvc 用 jquery ajax 交互

    总结,结合Spring MVC的Controller和jQuery的AJAX功能,开发者可以构建出更加动态、响应式的Web应用。这种交互方式使得前端可以灵活地与后端进行数据交换,而无需每次都刷新整个页面,提升了用户体验。在实际开发中...

    MVC Jquery Ajax例子

    JQuery是一个轻量级的JavaScript库,简化了DOM操作、事件处理、动画制作以及AJAX交互。在本例中,JQuery可能被用来处理用户界面的交互,如表单验证、按钮点击事件、无刷新分页等,提高了前端用户体验。 **Ajax技术*...

    spring与jquery ajax交互 和 servlet与jquery ajax交互

    在现代Web应用开发中,Spring框架、jQuery库以及Ajax技术是不可或缺的部分。Spring作为一个全面的Java企业级应用框架,提供了强大的MVC(Model-View-Controller)架构支持,而jQuery则简化了JavaScript的DOM操作和...

    利用Ajax+Jquery实现异步进度条效果

    总结来说,"利用Ajax+Jquery实现异步进度条效果"是一个综合性的技术实践,涵盖了C#、.NET框架、Ajax和Jquery等多个技术领域,旨在通过实时反馈提高用户交互体验。理解并掌握这些技术,对于开发高效、用户友好的Web...

    java程序使用jquery AJAX

    总结,Java程序与jQuery AJAX的结合能够实现前后端分离,提高Web应用的响应速度和用户体验。通过编写前端的jQuery AJAX请求和后端的Java处理逻辑,你可以创建动态、高效的Web应用程序。在开发过程中,记得利用源码...

    Jquery Ajax动态增删改查

    总结,jQuery AJAX结合动态增删改查功能,为Web应用提供了高效的页面交互和数据管理手段。通过对AJAX的熟练掌握和合理应用,开发者可以构建出响应快速、用户体验优秀的Web应用。在实际项目中,还要考虑错误处理、...

    Jquery Ajax 动态级联

    在网页开发中,jQuery AJAX 是一...总结来说,实现jQuery AJAX动态级联功能需要结合事件监听、AJAX请求和数据处理等多个技术环节。通过这个过程,我们可以创建出更加智能和交互性更强的Web应用,为用户提供更好的体验。

    Jquery Ajax总结性文档示例

    ### Jquery Ajax总结性文档知识点解析 #### 一、引言 JQuery 是一款轻量级的 JavaScript 库,以其简化 HTML 文档遍历、事件处理、动画以及 Ajax 交互而闻名。Ajax(Asynchronous JavaScript and XML)是一种在无需...

    jQuery之ajax应用

    总结一下,jQuery的Ajax应用主要通过`.load()`和`$.ajax()`方法实现。`.load()`简单易用,适合快速加载HTML片段;而`$.ajax()`则提供更大的灵活性,适用于各种复杂的请求场景。在实际开发中,根据项目需求和具体场景...

    jquery,ajax的几个小例子

    **jQuery和Ajax技术详解*...总结,jQuery和Ajax的结合大大提高了Web应用的用户体验,使得网页能够在不刷新的情况下与服务器进行通信。通过学习和实践这些基本的Ajax功能,开发者能够构建出更加动态和响应式的网页应用。

    ajax应用个人总结

    总的来说,这个Ajax应用展示了如何使用jQuery和ASP.NET进行前后端数据交互的基本流程。前端通过Ajax发送POST请求,后台接收到请求后处理数据并以JSON格式返回,前端再根据返回数据更新页面内容。这种技术提高了用户...

Global site tag (gtag.js) - Google Analytics