什么是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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • phpspreadsheet中文手册_php file_put_contents

    phpspreadsheet中文手册_php file_put_contents今天遇到一个问题,涉及php与excel之间数据转换。之前一直用PHPExcel,他们的开发组不更新了。但是找到了PhpSpreadsheet。一、介绍用纯php编写的库,它提供了一组类,允许您读取和写入不同的电子表格文件格式支持格式环境要求php5.6及以上php_zip支持并启用php_xml支持并启用php_gd2支持并启用安装>composerrequi…

    2022年9月17日
  • C#编写OPC客户端读取OPC服务器的数据(最高效简洁版)「建议收藏」

    C#编写OPC客户端读取OPC服务器的数据(最高效简洁版)「建议收藏」想要了解更多,可以添加扣扣群143440558,免费交流,免费下载以上文件,免费了解更多编写OPC客户端,网上的资料一般是一上来就要求找OPCDAAuto.dll,其实我想说,用VS,那都是多此一举,当然,如果你是在需要,我也可以提供给您最新版OPCDAAuto.dll(v2.2.5.30)(https://download.csdn.net/download/wanghuaihu/11…

    2022年6月20日
  • docker 常用命令大全

    docker 常用命令大全Docker常用命令大全

    2022年5月13日
  • tree命令详解

    tree命令详解命令:tree命令说明:以树状格式列出目录的内容,查看文件系统的结构命令用法:tree[选项]…[文件]…参数说明:参数参数说明备注-a打印所有文件,包括隐藏文件、目录-C在文件和目录清单上加上色彩,便于区分文件类型-d仅列出目录名称,而非内容-D列出文件或目录更改时间-L目录树的最大显示深度-p打印结构同时打印文件权限-l跟随目录的符号链接,就像它们是目录一样。避免了导致递归循环的链接-f打印每个

    2022年7月25日
  • SSH加密代理「建议收藏」

    SSH加密代理「建议收藏」1.首先拷贝putty到系统目录下2.然后执行命令putty-D22bin@ipplinkusername@hostname-D127.0.0.1:80883.设置代理就ok了

    2022年9月10日
  • nginx重启命令windows(nginx前台启动命令)

    nginx-sreload:修改配置后重新加载生效nginx-sreopen:重新打开日志文件nginx-t-c/path/to/nginx.conf测试nginx配置文件是否正确关闭nginx:nginx-sstop:快速停止nginxquit:完整有序的停止nginx其他的停止nginx方式:ps-ef|grepn…

    2022年4月13日

发表回复

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

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