一,原生JS实现ajax:
1
2
3
4
5
6
7
8
9
10
11
function AjaxGet()
        {
            var xhrObj;
            if(window.ActiveXObject) //ie5,6是以ActiveX方式声明的。
            {
                xhrObj = new ActiveXObject("Microsoft.XMLHTTP");
            }
            else if(window.XMLHttpRequest)
            {
                xhrObj = new XMLHttpRequest();
            }
            //下面这段代码需要注意,有可能会报Origin null is not allowed by Access-Control-Allow-Origin. 这个错误,原因是跨域问题,解决方法:
            //将该页面也放到网站目录下,同时请求的url要和访问网站的url中的主机地址一致,比如访问网站用localhost,那请求的url也要用localhost而不能用ip,
            //因为主机地址不一样,浏览器就认为你跨域请求了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
xhrObj.open("GET","http://localhost:9000/PHP/demo1-javascript/test.php",true); //第三个参数表示是否以异步方式发送请求,true表示以异步方式发送请求
          xhrObj.onreadystatechange=reqCallback;
          xhrObj.send(null); //采用GET方式提交,所有参数可以为null
 
          function reqCallback()
          {
              if(xhrObj.readyState == 4) // 4表示请求完成加载
              {
                  if(xhrObj.status==200) // http状态值为200
                  {
                      $("#divRes").text(xhrObj.responseText);
                  }
              }
          }
      }
      $(function(){
          $("#btnForm").click(function(){
              AjaxGet();
          });
      });
二,jquery中的ajax方法:
1,load方法:load(url [, data]  [, callback])  ,第二个参数为发送到服务器的key/value值。
1)简单加载
1
2
3
4
5
6
7
8
9
function LoadInfo()
        {
            $("#divRes").load(http://localhost:9000/PHP/zydemo/toload.html);  //加载到主页面后,主页面的样式会应用到加载的内容上。
        }
        $(function(){
            $("#btnForm").click(function(){
                LoadInfo();
            });
        });
2)筛选载入的html文档:
1
2
3
4
function LoadInfo()
        {
            $("#divRes").load(http://localhost:9000/PHP/zydemo/toload.html .more);  //仅加载class为 more的元素,注意url和 .more之间有一个空格。
        }
3) 详细的load用法:
1
2
3
4
5
6
$("#divRes").load("toload.html", {id:10, name:"zy"}, function(responseText, textStatus, xhrObj){
//responseText: 请求返回的内容
//textStatus:  请求状态:success, error, notmodified, timeout 4种。
//xhrObj:  XMLHttpRequest对象。
//注意,如果第二个参数不为空,则发起的是POST请求,否则是GET请求。
});
2,get 和 post方法:
1) get方法:发送请求时对传输的数据大小有限制,一般不能大于2KB,另外GET方式请求的数据会被浏览器缓存,二POST方式不会。
$.get(url  [,data]  [,callback],  [,type] );
//data:  发送的key/value会作为QueryString附加到请求的url中。
//type: 期待服务端返回内容的格式:xml, html,  script,  json,  text,  default
2)post方法,使用方式同get
 
3, getScript 和getJSON 方法:
1) $.getScript("test.js", callback);  //直接加载JS文件
 
2)

1
2
3
4
5
6
7
$.getJSON("test.json",  function(jsonData){
        $.each(jsonData, function(idx, val){
            //注意$.each()的用法:第一个参数为数组或对象。
            //第二个参数为一个回调函数,回调函数第一个参数为对象的成员或数组的索引,第二个参数为对应成员值或数组元素值。
            //要退出each循环,return false即可。
        } );
})
4,ajax方法:
最低层,功能最强,用法最灵活的方法。
$.ajax(options)
先上一个简单示例:
1
2
3
4
5
6
7
8
$.ajax({
    type:"GET",
    url:"info.aspx?id=40&idx=2&callback=?",
    dataType:"jsonp",
    success:function(data){
     
    }
});
$.ajax所有参数详细说明:
timeout: 请求超时时间,单位为毫秒。
data:  发送过去的参数,可以为对象或字符串。
dataType: 预期服务器返回的数据类型:xml,   html,  
        script(返回纯文本js代码,除非设置了cache参数,否则不会自动缓存结果),发起不在同一个域下的远程请求时,所有POST请求都将转换为GET请求。
        json,  jsonp,  text(返回纯文本字符串)。
beforeSend:  例子:
    beforeSend:function(xhrObj){
    //发送请求前可以修改XMLHttpRequest对象xhrObj,
    //如果在该函数中返回false,则会取消本次ajax请求。
    }
complete:例子:
    complete:function(xhrObj, textStatus){
        //请求完成后调用的回调函数,请求成功或失败时均调用。
    }
success:例子:
    success:function(data, textStatus){
        //data: 由服务器返回,并根据dataType参数进行处理后的数据。
    }
error: 例子:
    error: function(xhrObj, textStatus, errorThrown){
    // textStatus: 错误信息
    // errorThrown: 错误对象,一般textStatus和errorThrown只有其中一个包含信息。
global: 默认为true,表示是否触发全局ajax事件。
 
5,序列化问题:
$.get("getInfo.aspx", $("#form1").serialize(),  function(data, textStatus){
    //serialize会将表单数据值序列化为字符串后提交到服务端。
    //另外 serializeArray()返回json格式的数据。
} );
$.param函数:将一个数组或对象按照key/value进行序列化。
var obj = {id:1, name:"zy", age:22};
var pms = $.param(obj);
alert(pms);  //输出id=1&name=zy&age=22
 
6,ajax全局事件:
$.ajaxStart(callback);  // ajax请求开始时触发。
$.ajaxStop(callback);  // ajax请求结束时触发。
$.ajaxComplete: ajax请求完成时触发。
$.ajaxError: ajax请求发生错误时触发。
$.ajaxSend:  ajax发送前触发。
$.ajaxSuccess: ajax请求成功时执行的函数。
 
这几天码字真辛苦!
 

jquery中的ajax应用集锦的更多相关文章

  1. Jquery中的Ajax

    AJAX: * jQuery中的Ajax * 封装第一层 - 类似于原生Ajax的用法 * $.ajax() - 最复杂 * 选项 * url - 请求地址 * type - 请求类型,默认为GET ...

  2. jQuery入门(4)jQuery中的Ajax应用

    jQuery入门(1)jQuery中万能的选择器 jQuery入门(2)使用jQuery操作元素的属性与样式 jQuery入门(3)事件与事件对象 jQuery入门(4)jQuery中的Ajax()应 ...

  3. 【Java EE 学习 33 上】【JQuery样式操作】【JQuery中的Ajax操作】【JQuery中的XML操作】

    一.JQuery中样式的操作 1.给id=mover的div采用属性增加样式.one $("#b1").click(function(){ $("#mover" ...

  4. jquery中的ajax参数

    jquery中将ajax封装成了函数,我们使用起来非常方便,jquery会自动根据内容选择post还是get方式提交数据,并且会自动编码,但是要想完全掌握jquery中的ajax,我们必须将它的各个参 ...

  5. 用JQuery中的Ajax方法获取web service等后台程序中的方法

    用JQuery中的Ajax方法获取web service等后台程序中的方法 1.准备需要被前台html页面调用的web Service,这里我们就用ws来代替了,代码如下: using System; ...

  6. jQuery中操作Ajax方法小结

    有时候,越深入去了解一个点,越发觉得自己无知,而之前当自己晓得一两个片面的点还洋洋自得,殊不知,这是多么讽刺 jQery对Ajax操作进行了封装,常见的 ajax()属于最底层的方法,使用频率很高的 ...

  7. $.ajax()方法详解 jquery中的ajax方法

    jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(p ...

  8. 深入理解ajax系列第九篇——jQuery中的ajax

    前面的话 jQuery提供了一些日常开发中需要的快捷操作,例如load.ajax.get和post等,使用jQuery开发ajax将变得极其简单.这样开发人员就可以将程序开发集中在业务和用户体验上,而 ...

  9. 两强相争,鹿死谁手 — JQuery中的Ajax与AngularJS中的$http

    一.JQuery与AngularJS 首先,先简单的了解一下JQuery与AngularJS.从源头上来说,两者都属于原生JS所封装成的库,两种为平行关系. 二.Ajax请求与数据遍历打印 这里是Aj ...

随机推荐

  1. 多线程中的lock,Monitor.Wait和Monitor.Pulse

    我们知道lock实际上一个语法糖糖,C#编译器实际上把他展开为Monitor.Enter和Monitor.Exit,即: lock(lockObj) { //... } ////相当于(.Net4以前 ...

  2. 强烈推荐node包colors

    库链接:colors 在你的 node.js 控制台中获取颜色

  3. Formview单文档或对话框项目接受不到按键消息的解决办法

    当对话框或formview界面上有控件时,由于焦点在控件上,因此wm_char,wm_keydown等按键消息会被控件捕获,而导致对话框或formview无法接受该类按键消息.这时候通常的解决方法是在 ...

  4. 如何获得 Qt窗口部件在主窗口中的位置--确定鼠标是否在某一控件上与在控件上的位置

    用Qt Creator 设计程序时,最方便的就是ui设计器,可以很容易的得到想要的布局. 但是这样自动布局带来的后果是很难知道窗口中某一部件在主窗口中的相对位置. 在处理子窗口鼠标事件时变的很麻烦.主 ...

  5. Python入门(good)

    Python缩进和冒号对于Python而言代码缩进是一种语法,Python没有像其他语言一样采用{}或者begin...end分隔代码块,而是采用代码缩进和冒号来区分代码之间的层次. 缩进的空白数量是 ...

  6. IOC学习1

    学习蒋金楠的 ASP.NET Core中的依赖注入(1):控制反转(IoC) 而来,这篇文章经典异常.一定要多读.反复读. 这篇文章举了一个例子,就是所谓的mvc框架,一开始介绍mvc的思想,由一个d ...

  7. mac在下面Apache 创 .htaccess档

    在设定一个固定的链接将提下面的例子说明样题: 若您的 .htaccess 文件可写.我们能够自己主动改动它.但似乎它不可写,因此我们在下方列出了您 .htaccess 文件里应该增加的URL 重写规则 ...

  8. C#进程创建监控

    关于c#进程创建监控的文章大多都是“遍历一次进程用if去判断存在或否”这样的方法,我觉得体验不是很好.这几天写的一个软件正好需要实时监控进程创建的模块,在网上找到了很不错的方法,整理一下分享出来给大家 ...

  9. linux_crontab_定时删除

    #每天2:30 删除4天前qac的原始log30 2 * * * find /home/iknow/ETL/RetlPull/retl-pull/data/qac -name qac.log.new. ...

  10. 如何完全备份android在系统system分区和data分

    安德鲁斯系统备份是非常的情况下,可以使用.下面的这个python脚本.它可以用来备份整个data分:所有data分区的文件和文件夹打包data.zip.并产生recovery专用edify脚本upda ...