Ajax的总结

本文详细阐述了Ajax的核心机制及工作原理,包括获取XmlHttpRequest对象的方法,以及基本的使用步骤。重点介绍了如何通过XmlHttpRequest对象实现异步请求,从服务器获取数据并更新页面,同时解释了XMLHttpRequest对象的属性和方法,如打开连接、发送请求以及监听状态变化等关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ajax的总结

  1. 获取引擎XmlHttpRequest对象;

    function getXmlHttpRequest(){
     var xhr=null;
    if((typeof XMLHttpRequest)!='undefined'){
        xhr=new XMLHttpRequest();
    }
    else{
        xhr=new ActiveXObject('Microsoft.XMLHttp');
    }
    return xhr;
     }
    

//一般ajax需要写的几个步骤:4个基本;

function test(){
    var xhr=getXmlHttpRequest();
    xhr.open("get(或者)post","/url(地址--自己设定保持和后台一致即可)",true(异步))
    xhr.onreadystatechange=function(){
        //事件的监听 一般用 xhr.status==200&&xhr.readyState==4 来判断页面的加载和数据的发送、接收是否完成---状态值可以参考下面提示;
    }
    xhr.send(参考下面提示,post)//如果前面是get方式就发送null;
}

2.ajax的工作原理;

    1.ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从
    服务器获得数据,然后用javascript来操作dom而更新页面;(怎么从服务器
    获得请求数据?第一个问题) 
    2.XMLHttpRequest是ajax的核心机制,是一种支持异步请求的技术;--
     也就是javascript可以及时向服务器提出请求和处理响应,而不阻塞用户
     达到无刷新的效果;

3.XMLHttpRequest的对象属性:

    1.onreadystatechange:每次状态改变所触发事件的事件处理程序;
    2.reponseText:从服务器进程返回数据的字符串形式;
    3.responseXML:从服务器进程返回的dom兼容的文档数据对象;
    4.status:从服务器返回的数字代码,比如常见的404(未找到)和200(已就绪)
    5.status Text:伴随状态码的字符串信息;
    6.readyState:对象状态值:
        0(未初始化)对象已建立,但是尚未初始化(尚未调用open方法)
        1(初始化)对象已建立,尚未调用send方法;
        2(发送数据)send方法已调用,但是当前的状态及http头未知;
        3(数据传送中)已接收部分数据,因为响应及http头不全,这时
            通过responseBody和responseText获取部分数据会出现错误;
        4(完成)数据接收完成;

4.5.XmlHttpRequest的两个方法,open和send

open指定了:
1.向服务器提交数据的类型,即post还是get;
2.请求的url地址和传递的参数;
3.传输方式,false为同步,true为异步;(我们需要根据实际需要来指定同步方式,
  在某些页面中,可能会发出多个请求,甚至是有组织有计划有队形大规模的高强度的request,
  而后一个是会覆盖前一个的,这个时候当然要指定同步方式。)
send方法用来发送请求;

//1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;

使用send方法传递参数使用的是post方法,需要
设定Content-Type头信息,模拟HTTP POST方法发送一个表单,这样服务器才会知道如何处理上传
的内容。参数的提交格式和get方法中url的写法一样。设置头信息前必须先调用open方法。
例如:
    xmlHttp.open("POST","/login",true);
    xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
    xmlHttp.send("name="+name+"&pwd="+pwd);

//不懂得地方多做实验;
以上有些总结是各方找的资料;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值