zoukankan      html  css  js  c++  java
  • jQuery(5)--jQuery中的Ajax应用

       Ajax介绍

      Ajax的全称为"Asynchronous JavaScript and XML"(异步JavaScript 和 XML),它并不是指一种单一的技术,而是有机利用了一系列交互式网页应用相关技术所形成的结合体。

    Ajax优点:

    •   优秀的用户体验

                 Ajax最大的有点就是能在不刷新整个页面的前提下更新数据,使Web应用程序能更迅速的回应用户的操作。

    •  提高Web程序的性能

                与传统模式相比,Ajax在性能上的最大区别就在于传输方式,传统模式中,数据提交是通过表单(Form)来实现,而数据获取是靠全页面刷新来获取整页的内容。Ajax模式只是通过XMLHttpRequest对象向服务器端提交希望提交的数据,即按需发送。

    • 减轻服务器和带宽负担

             Ajax的工作原理相当于在用户和服务器之间加了一个中间层,使用户操作和服务器响应异步化。它在客户端创建Ajax引擎,把传统方式下的一些服务器负担的工作转移到客户端,便于客户端资源来处理,减轻服务器和带宽的负担。

    jQuery中的Ajax

       jQuery对Ajax操作进行了封装,在jQuery中$.ajax()方法属于最底层的方法,第2层是load()、$.get() 和$.post()方法,第3层是 $.getScript()和$.getJson()方法。这几个方法都是jQuery中的全局函数,而其他的jQuery方法都是对jQuery对象进行操作的

    $.ajax(options)    //该方法只有一个参数,但在这个对象里包含了$.ajax()方法所需要的请求设置以及回调函数等信息,参数以key/value形式存在,所有参数都是可选的

    $.ajax({
          type: 'post',
          url: '/stabilityPerf/get/getScreenShotPics',
          dataType:'json',
          data: {
                taskId: taskId,
                sn: sn,
                packageName:packageName
          },
          async:true,
          success: function (data) {         //请求成功后调用的回调函数,有两个参数 data--由服务器返回,并根据dataType参数进行处理后的数据 textStatus--描述状态的字符串
                
                if(data!=null&&data.length>0) {
                      
                      $.each(data, function (index, content) {    //$each()用于遍历对象和数组,全局函数,以一个数组或对象作为第一个参数,一个回调函数作为第二个参数;回调函数有两个参数:1、对象的成员或数组的索引 2、对应变量或内容
                            var picDiv=$(document.createElement("span"))
                                  .appendTo(contentDiv)
                                  .attr("pic-name",content['fileName'])
                                  .attr("pic-time",content['fileTime'])
                                  .on("click",function(){
                                        window.open(content['fileUrl']);
                                  });
    
                } else {
                      contentDiv.html("未找到截图");
                }
          },
          error: function (e) {      //请求失败时调用的函数
                AlertUtil.echoFailure("报错"+e);
          }
    });

    Ajax中的全局事件

    ajaxStart(callback)   //Ajax开始请求时执行
    ajaxStop(callback)   //Ajax请求结束后执行
    ajaxComplete(callback)    //Ajax请求完成时 
    ajaxError(callback)   //Ajax请求发生错误时
    ajaxSend(callback)  //Ajax请求发送前
    ajaxSuccess(callback)  //Ajax请求成功时

    eg: <div id="loading">加载中...</div> //用CSS控制元素隐藏,当Ajax请求开始的时候,将此元素显示,提醒用户Ajax请求正在进行。当Ajax请求结束后,将此元素隐藏。 //因为方法时全局的,所以页面中其他地方使用Ajax时,该提示信息都有效 若想使某个Ajax请求不受全局方法的影响,可以再用$.ajax()方法时,将global参数设为false $("#loading").ajaxStart(function(){ $(this).show(); }).ajaxStop(function(){ $(this).hide(); });
  • 相关阅读:
    Twitter如何在数千台服务器上快速部署代码?
    系统架构师学习笔记_第六章(上)_连载
    使用IIS内置压缩功能,增加网站访问速度
    系统架构师学习笔记_第八章_连载
    微软企业库4.1学习笔记(十五)缓存模块3 使用数据库作为后端存储
    快速搞懂 SQL Server 的锁定和阻塞
    微软企业库4.1学习笔记(十四)缓存模块2 使用缓存模块进行开发
    微软企业库4.1学习笔记(十六)缓存模块4 服务器场中的缓存使用
    Agile PLM Engineering Collaboration
    EC Client Customizing EC Client 客户化
  • 原文地址:https://www.cnblogs.com/HathawayLee/p/9628752.html
Copyright © 2011-2022 走看看