Ajax 是什么? 怎么创建一个Ajax?

举报
花溪 发表于 2020/07/29 16:01:48 2020/07/29
【摘要】 Ajax 是在工作中是必用的技术,要整理清楚原生态Ajax使用的步骤,尽量详尽,包括方法的参数的个数,顺序和作用等Ajax是什么我理解Ajax 是一种异步请求数据的一种技术,对于改善用户的体验和程序的性能很有帮助。Ajax的使用以下步骤,如果不能理解你死记硬背都要记下来,总比你答不出来要好吧!1.创建Ajax核心对象XMLHttpRequestvar xmlhttp; if (window...

Ajax 是在工作中是必用的技术,要整理清楚原生态Ajax使用的步骤,尽量详尽,包括方法的参数的个数,顺序和作用等

Ajax是什么

我理解Ajax 是一种异步请求数据的一种技术,对于改善用户的体验和程序的性能很有帮助。

Ajax的使用

以下步骤,如果不能理解你死记硬背都要记下来,总比你答不出来要好吧!

1.创建Ajax核心对象XMLHttpRequest

var xmlhttp;  
if (window.XMLHttpRequest)  
  {// 兼容 IE7+, Firefox, Chrome, Opera, Safari  
  xmlhttp=new XMLHttpRequest();  
  }  
else  
  {// 兼容 IE6, IE5  
  xmlhttp=newActiveXObject("Microsoft.XMLHTTP");  
  }

2.向服务器发送请求

xmlhttp.open(method,url,async);  
send(string)

注意:open 的参数要牢记

  • method:请求的类型;GET 或 POST

  • url:文件在服务器上的位置

  • async:true(异步)或 false(同步)

send(string)方法post请求时才使用字符串参数,否则不用带参数。

注意:post请求一定要设置请求头的格式内容

xmlhttp.open("POST","ajax_test.html",true);  
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");  
xmlhttp.send("fname=Henry&lname=Ford");

3.服务器响应处理

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

       3.1 同步处理

xmlhttp.open("GET","ajax_info.txt",false);  
xmlhttp.send();  
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

直接在send()后面处理返回来的数据。

      3.2 异步处理

异步处理相对比较麻烦,要在请求状态改变事件中处理。

xmlhttp.onreadystatechange=function()  
  {  
  if (xmlhttp.readyState==4 &&xmlhttp.status==200)  
    {  
   document.getElementById("myDiv").innerHTML=xmlhttp.responseText;  
    }  
  }

    一共有5中请求状态,从0 到 4 发生变化。

    0: 请求未初始化

    1: 服务器连接已建立

    2: 请求已接收

    3: 请求处理中

    4: 请求已完成,且响应已就绪

    xmlhttp.status:响应状态码。这个必须知道4个以上,比较常见的有:

    200: "OK"

    403   (禁止) 服务器拒绝请求。

    404   (未找到) 服务器找不到请求的网页。

    408  (请求超时) 服务器等候请求时发生超时。

    500   (服务器内部错误)  服务器遇到错误,无法完成请求。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。