什么是Ajax以及ajax请求的步骤[通俗易懂]

什么是Ajax以及ajax请求的步骤[通俗易懂]什么是Ajax以及ajax请求的步骤1.Ajax是什么?AsynchronousJavaScript&XML。Ajax是web开发的一种技术。2.Ajax请求的步骤(1)创建`XMLHttpRequest`对象,也就是创建一个异步调用对象;(2)创建一个新的`HTTP`请求,并指定该`HTTP`请求的方式、`URL`及验证信息;(3)设置响应`HTTP`请求状…

大家好,又见面了,我是你们的朋友全栈君。

什么是Ajax以及ajax请求的步骤

1.Ajax是什么?

Asynchronous JavaScript & XML。Ajax是web开发的一种技术。

2.Ajax请求的步骤

(1)创建`XMLHttpRequest`对象,也就是创建一个异步调用对象;

(2)创建一个新的`HTTP`请求,并指定该`HTTP`请求的方式、`URL`及验证信息;

(3)设置响应`HTTP`请求状态变化的函数;

(4)发送`HTTP`请求;

(5)获取异步调用返回的数据;

(6)使用JavaScript和DOM实现局部刷新。

3.XMLHttpRequest对象

(1)对象类型的API;

(2)在浏览器环境使用;

(3)用于客户端和服务端数据的传递和接收;

(4)用于请求XML数据(JSON/TEXT)。

4.readyState状态码

0:请求未初始化

1:服务器连接已建立

 2:请求已接收

 3:请求处理中

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

5.http状态码(status)

200:(成功)

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

404:(未找到)服务器找不到请求的页面

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

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

6.onload和onreadystatechange

当onload执行时readyState只可能为4

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>ajax</title>
</head>

<style>
    html {
        font-family: Arial, Helvetica, sans-serif;
        padding: 10px 20px;
    }
</style>

<body>
    <h3>Ajax是什么?</h3>
    <p>Asynchronous JavaScript & XML。Ajax是web开发的一种技术。</p>

    <h3>Ajax请求的步骤</h3>
    <p>
        (1)创建`XMLHttpRequest`对象,也就是创建一个异步调用对象;
        <br /> (2)创建一个新的`HTTP`请求,并指定该`HTTP`请求的方式、`URL`及验证信息;
        <br /> (3)设置响应`HTTP`请求状态变化的函数;
        <br /> (4)发送`HTTP`请求;
        <br /> (5)获取异步调用返回的数据;
        <br /> (6)使用JavaScript和DOM实现局部刷新。
    </p>

    <h3>XMLHttpRequest对象</h3>
    <p>
        (1)对象类型的API;
        <br />(2)在浏览器环境使用;
        <br />(3)用于客户端和服务端数据的传递和接收;
        <br />(4)用于请求XML数据(JSON/TEXT)。
    </p>

    <h3>readyState状态码</h3>
    <p>
        0:请求未初始化
        <br /> 1:服务器连接已建立
        <br /> 2:请求已接收
        <br /> 3:请求处理中
        <br /> 4:请求已完成,且响应已就绪
    </p>

    <h3>http状态码(status)</h3>
    <p>
        200:(成功)
        <br /> 403:(禁止)服务器拒绝请求
        <br /> 404:(未找到)服务器找不到请求的页面
        <br /> 408:(请求超时)服务器等候请求发生超时
        <br /> 500:(服务器内部错误)服务器遇到错误,无法完成请求
    </p>
    <button>ajax请求</button>
    <h2></h2>

    <script>
        document.querySelector("button").addEventListener("click", getAjax);

        function getAjax() {
            //1.创建XMLHttpRequest对象
            let xhr = new XMLHttpRequest();
            //open(type,url,async)
            xhr.open("GET", "http://jsonplaceholder.typicode.com/posts/1", true);
            console.log(xhr.readyState); //1

            //进程
            xhr.onprogress = function() {
                console.log(xhr.readyState); //3
            }

            //两种请求方式onload/onreadystatechange
            //onload
            // xhr.onload = function() {
            //     console.log(xhr.readyState); //4
            //     document.querySelector("h2").innerHTML = JSON.parse(this.responseText).body;
            // };
            //onreadystatechange
            xhr.onreadystatechange = function() {
                console.log(xhr.readyState);
                console.log(xhr.status);
                if (xhr.readyState == 4 && xhr.status == 200) {//修改dom
                    document.querySelector("h2").innerHTML = JSON.parse(this.responseText).title;
                } else if (xhr.status = 404) {
                    document.querySelector("h2").innerHTML = xhr.statusText;
                }
            };

            //发送请求
            xhr.send();
        }
    </script>
</body>

</html>

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145404.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IUnKNown接口——QueryInterface函数

    IUnKNown接口——QueryInterface函数COM笔记-QueryInterface函数fangyukuan2010.6.1客户同组件的交互都是通过一个接口完成的。在客户查询组件的其他接口时,也是通过接口完成的。这个接口就是IUnknown。它在UNKNWN.H头文件定义:如下       Interface IUnknown       {            virtual HRESULT _

    2022年6月29日
    31
  • 物联网实践

    物联网实践

    2021年9月8日
    54
  • 简述mux vlan的功能及应用场景_vlan的原理

    简述mux vlan的功能及应用场景_vlan的原理MuxVLAN是一种在交换机上的2层隔离技术,基于VLAN实现资源的控制。MuxVLAN技术中包含了主VLAN和辅助VLAN;辅助VLAN分为隔离VLAN和组VLAN。一个主VLAN中可以同时包含多个组VLAN,最多只能包含1个隔离VLAN。同一个组VLAN中的端口可以互相通信,不同组VLAN中的端口无法通信;同一个隔离组中的端口不可以通信;但是隔离VLAN与组VLAN中的端口,都可以与主VLAN中的端口进行通信。简述端口隔离的实现原理端口隔离是一种在

    2022年8月10日
    4
  • vs2012 express 密钥「建议收藏」

    vs2012 express 密钥「建议收藏」VisualStudioExpress2012forWindowsDesktopKEY:MMVJ9-FKY74-W449Y-RB79G-8GJGJMicrosoftVisualStudioExpress2012forWebKEY:VX3VY-8GCVT-KJQCY-RQ99X-MCF2RVisualStudioExpress

    2025年7月26日
    2
  • hd disk / HDD / SSD / USB / FireWire(1394) / eSATA / SATA / mSATA / NGFF[通俗易懂]

    hd disk / HDD / SSD / USB / FireWire(1394) / eSATA / SATA / mSATA / NGFF[通俗易懂]MBR主启动记录/GPTGUID分区表注意:所有早起版本的Windows不识别GPT分区形式。建议在大于2TB的磁盘或基于Itanium的计算机所用的磁盘上使用这种分区形式。硬盘厂商http://www.westerndigital.com/WD1TB/AmphenolSATA001025231206211WD2TB/PartNumber:406…

    2025年8月27日
    9
  • Java解析JSON文件「建议收藏」

    Java解析JSON文件「建议收藏」这篇文章主要讲讲通过java去解析不同地方的json文件通常我们需要解析本地的json文件或者服务器上的json文件。我们用来解析json格式的jar包有很多,jackson,fastjson,gson都行。但本人喜欢用fastjson。所以本篇都是以fastjson来解析json文件。1.解析本地json文件随便把一个json文件存储在本地的一个文件夹下,然后通过文件流将json文件内容读取出来。然后转换成String,最后转json对象,然后再解析,获取自己想要的数据。首先我们这个json文

    2022年10月12日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号