Ajax详解及常用用法

$.ajax({
    type: "post", 【以POST或GET的方式请求。默认GET。PUT和DELETE也可以用,有的浏览器不支持】
    url: url,   【请求的目的地址,须是一个字符串。】
    contentType: "application/json",       【以哪种数据类型发送请求】
    data: data,    【请求的数据】
    dataType: "json",  【想从服务器得到的数据类型。html,json,jsonp,text】
    async:false,【默认为true异步请求,设置为false时为同步请求】
    beforeSend:function(){......},  【传递异步请求之前的事件】
    success:function(){......},  【请求成功之后的回调】
    error:function(){......},    【请求失败之后的回调】
    complete(function(){......},  【不管请求成功还是错误,只要请求完成,可以执行的事件。】 
});




XMLHttpRequest 对象用于在后台与服务器交换数据。


XMLHttpRequest 对象是开发者的梦想,因为您能够:


在不重新加载页面的情况下更新网页
在页面已加载后从服务器请求数据
在页面已加载后从服务器接收数据
在后台向服务器发送数据
所有现代的浏览器都支持 XMLHttpRequest 对象。


XMLHttpRequest 对象的方法主要有:


abort()方法


request.abort()


中断当前对象的HTTP请求.


open方法


request.open(method,url,sync);


初始化HTTP连接请求对象,设置请求方法,地址,认证信息.method可以定义为"POST","GET"两种


send 方法


request.send("args");


向服务器发送一个HTTP请求,并获取返回结果.


setRequestHeader方法:


request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");


在请求header中设置Header/Value值对并发送到服务器端.


XMLHttpRequest 对象的属性主要有:


onreadystatechange 


 设置请求对象状态readystate改变时要调用的函数对象;


readyState 


请求对象的状态值,含义如下:


0 - 请求对象被创建,但未初始化,即open方法未调用


1 - 装载中,open方法已调用,send方法未调用


2 - 已装载,send方法已调用,但还未获得Header信息


3 - 交互中,已获取了部分信息,这时调用responseText将得到不完整信息,会返回错误


4 - 所有数据已接收完成,可用responseText或responseBody得到完整数据


 responseBody 


表示从HTTP响应得到的返回原始信息,内容的编码方式决定于请求的服务器端(UTF-8, UCS-2, UCS-4, Shift_JIS等)


responseText 


 HTTP请求返回数据体的字符串表示,缺省情况下用utf-8编码后返回,如果返回内容中有中文,服务器端的数据必须用utf-8编码,否则就会出现乱码。


responseStream


HTTP请求返回数据的流对象,该对象实现IStream接口.


responseXML


返回XML格式的数据对象. 服务器端返回数据为XML格式数据时可用.服务器端用动态语言生成xml时,必须设置content-type为text/xml,否则客户端得到的responseXML为空


status


 HTTP返回代码.


200 - 成功


404 - 错误请求


500 - 服务器内部错误,等等. 详见HTTP协议.


statusText


HTTP返回状态文本描述.


**********************ajax原型使用*******************************************
 window.οnlοad=function(){
            //监听a中的click事件
            document.getElementsByTagName("a")[0].οnclick=function(){
                //创建XMLHttpRequest对象(注意大小写)
                //var request =window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
                //考虑兼容性
                //var request=init();
                var request=new XMLHttpRequest();
                 function init(){
                  if (window.XMLHttpRequest) {
                   return new XMLHttpRequest();
                  }
                 else if (window.ActiveXObject) {
                  return new ActiveXObject("Microsoft.XMLHTTP");
                 }
                }
                //添加时间戳 起到禁用缓存的效果
                var url=this.href;
                //+"?time="+new Date();
                //请求方式为GET请求
                //var method='GET';
                //请求方式为POST请求
                var method="POST";
                //准备发送请求(就像汽车发动机点火一样)
                request.open(method,url,true);
                //如果是Post请求,需要在此处添加setheader,格式如下:
                request.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
                //发送请求(汽车运行..)
                
                //request.accept="text/html";
                //request状态变化
                request.onreadystatechange=function(){
                    //判断响应是否完成
                    if (request.readyState==4) {
                        //判断响应是否可用
                        if(request.status==200){
                            //打印响应信息
                            console.info(request.responseText);
                        }
                    } 
                };
                var age=10;
                request.send("age="+age);
                //禁用a跳转
                return false;
            };
            
        };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

finbarr45

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值