ajax基础

Ajax技术的核心是XMLHttpRequset对象(简称XHR),XHR为向服务器发送请求和解析服务器响应提供了流畅的接口,能够以异步的方式从服务器取得更多信息,意味着用户单机后,可以不必刷新页面也能取得新数据。

要求你的js文件,HTML文件,要读取的文件一定是统一的字符集编码

要注意阻止缓存。原理:请求的文件的url一直在变就可以阻止缓存

ajax(‘aaa.txt?t=’+new Date().getTime(),function(){},function(){});这个值一直在变,一秒就有1000个情况

可以读取数据并且创造元素

HTTP请求方式:post和get方式

get方式:

1、把数据放在url上一起传递给服务器

2、容量小

3、安全性差

4、有缓存,

post方式:不通过网址传递

容量大

安全性较好

没有缓存,每一次都要从服务器上获取

原生ajax如何写

第一步:创建一个ajax对象       var oAjax = new XMLHttpRequest();只兼容非ie6的浏览器

第二步:连接到服务器          oAjax.open("GET","文件名","true")      方法,文件名,异步传输  文件名记得阻止缓存

第三步:发送请求            oAjax.send();

第四步:接受返回值        oAjax.onreadystatechange = function(){}    返回一个事件,等待被调用执行

兼容ie6:

if(window.XMLHttpRequest){

    var oAjax = new XMLHttpRequest();

}else{

    var oAjax = new ActiveXObject("Microsoft.XMLHTTP");

}

oAjax.onreadystatechange = function(){//必须在调用open()之前指定onreadystatechange事件处理程序才能确保跨浏览器兼容性。
       if(oAjax.readyState==4)//读取完成{

              if(oAjax.status==200)//读取成功{

                    alert('成功:'+oAjax.responseText);

              }else{

                     alert('失败:'+oAjax.status);

              }

}

  readystate的四种状态:

0:(为初始化)还没有调用open()方法

1:(载入)已调用send()方法,正在发送请求

2:(载入完成)send()方法完成,已收到全部响应内容

3:(解析)正在解析响应内容

4:(完成)响应内容解析完成,可以在客户端调用了

send(string):仅用于post请求

与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

然而,在以下情况中,请使用 POST 请求:

  • 无法使用缓存文件(更新服务器上的文件或数据库)
  • 向服务器发送大量数据(POST 没有数据量限制)
  • 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

如果您希望通过 GET 方法发送信息,请向 URL 添加一个唯一的 ID:

xmlhttp.open("GET","/try/ajax/demo_get.php?t=" + Math.random(),true);

如果需要像 HTML 表单那样 POST 数据,请使用 setRequestHeader() 来添加 HTTP 头。然后在 send() 方法中规定您希望发送的数据:xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

responseText获得字符串形式的响应数据。
responseXML获得 XML 形式的响应数据。

responseText 属性返回字符串形式的响应,因此您可以这样使用:

document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,请使用 responseXML 属性:

当请求被发送到服务器时,我们需要执行一些基于响应的任务。

每当 readyState 改变时,就会触发 onreadystatechange 事件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值