Ajax学习:Ajax请求基本操作

news2024/12/25 22:33:22

点击按钮,发送请求(前端页面和服务端页面信息交流 但是不刷新页面)

注意使用谷歌浏览器

服务器端打开:使用nodemon


//1、导入express
const express=require('express')
//2、创建应用对象  创建web服务器
const app=express()
//3、创建路由规则
//监听客户端的GET请求和POST请求,并向客户端响应具体内容
//requset是对请求报文的封装
//response是对响应报文的封装
app.get('/server',function(requset,response){
    //设置响应头 名称 值----设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*');
    //设置响应体
    response.send('hello AJAX');
})

//4、监听端口 启动服务
//启动服务器.lisen(端口号,(启动成功职之后的回调函数)) 端口号是80可以省略
app.listen(8000,()=>{
    console.log('8000启动成功')
})

服务器端对http://127.0.0.1:8000/server的GET请求设置了

响应头 Access-Control-Allow-Origin:*  

响应体hello AJAX

这时候客户端即浏览器发送请求,并接收读取服务端的响应

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ajax GET 请求</title>
    <style>
        #result {
            width: 200px;
            height: 100px;
            border: solid 1px #90b;
        }
    </style>
</head>

<body>
    <button>点击发送请求</button>
    <div id="result"></div>
    <script>
        //获取bTn元素
        const btn = document.getElementsByTagName('button')[0];
        const result=document.getElementById('result');
        //绑定事件
        btn.onclick = function () {
            //Ajax操作--分为4个步骤
            //1、创建对象
            const xhr = new XMLHttpRequest();//xhr简写 然后是在网络控制台上也有xhr 对ajax请求的筛选
            //2、初始化 设置请求方法和url 这里不可以省略
            xhr.open('GET', 'http://127.0.0.1:8000/server');
            //3、发送
            xhr.send();
            //4、事件绑定  处理服务端返回的结果
            //onreadystatechange代表:当 xhr对象中的属性readystate 改变的时候触发
            //xhr对象中的属性 readystate标识状态 
            //有5个值 0:标识为初始化 1 标识open方法调用完毕 2 send方法调用完毕 3:服务端返回的部分结果 4 服务端返回的所有结果
            //改变一次触发一次 总共有4次
            xhr.onreadystatechange = function () {
                //判断服务端是否返回了所有结果
                if (xhr.readyState === 4) {
                    //判断服务端返回的响应状态码 200 404 403 401 500
                    //2xx是成功
                    if(xhr.status<300&&xhr.status>=200){
                        //处理结束 行 头 空行 体
                        //1、响应行
                        console.log('响应状态码',xhr.status,'响应字符串',xhr.statusText);//响应状态码+响应状态字符串
                        console.log('所有的响应头',xhr.getAllResponseHeaders());
                        console.log('响应体',xhr.response);
                        //在div中呈现
                        result.innerHTML=xhr.response;

                    }else{

                    }


                }

            }





        }

    </script>
</body>

</html>

使用jscript;一共分为4步骤

  //1、创建对象

    const xhr = new XMLHttpRequest();//xhr简写 然后是在网络控制台上也有xhr 对ajax请求的筛选

//2、初始化对象 参数为设置请求方法和url 地址这里不可以省略

  xhr.open('GET', 'http://127.0.0.1:8000/server');

 //3、发送对象

   xhr.send();

 //4、事件绑定  处理服务端返回的结果 //onreadystatechange代表:当 xhr对象中的属性readystate 改变的时候触发

//xhr对象中的属性 readystate标识状态有5个值 0:标识为初始化 1 标识open方法调用完毕 2 send方法调用完毕 3:服务端返回的部分结果 4 服务端返回的所有结果//改变一次触发一次 总共有4次

 响应状态码',xhr.status

响应字符串',xhr.statusText

所有的响应头',xhr.getAllResponseHeaders()

响应体',xhr.response

  xhr.onreadystatechange = function () {
                //判断服务端是否返回了所有结果
                if (xhr.readyState === 4) {
                    //判断服务端返回的响应状态码 200 404 403 401 500
                    //2xx是成功
                    if(xhr.status<300&&xhr.status>=200){
                        //处理结束 行 头 空行 体
                        //1、响应行
                        console.log('响应状态码',xhr.status,'响应字符串',xhr.statusText);//响应状态码+响应状态字符串
                        console.log('所有的响应头',xhr.getAllResponseHeaders());
                        console.log('响应体',xhr.response);
                        //在div中呈现
                        result.innerHTML=xhr.response;

                    }else{

                    }


                }

响应头部分  

响应体部分 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/43394.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软考高级系统架构师_计算机组成与结构02_高速缓存_磁盘结构_输入输出技术_总线结构_可靠性_---软考高级系统架构师005

1.Cache是Cpu与主存储器之间的速度比主存储器要块10倍左右,因为cpu用的说主存储器中的地址, 而cpu速度很快,主存储器速度慢,所以中间加了这个cache,那么这里就涉及到,怎么把cache地址转化成主存储器的地址,cpu使用地址的时候首先访问主存储器地址,但是访问的是cache,所以这个时…

第十二周学习总结 Progress Lack

关于计划的制定 FlowUs计划链接&#xff1a; 点击我进入计划 发现不足&#xff1a;首先&#xff0c;制定计划经验不足&#xff0c;制定计划应该是具体的、有任务量、完成时间。 其次任务应该是可衡量的&#xff08;比如&#xff0c;我阅读李升波老师的网站文章&#xff0c;应…

【WAX链游】发布一个免费开源的Alien Worlds【外星世界】合约脚本TLM

前言 《链游Farmers World【农民世界】爆火&#xff0c;发布一个免费开源的脚本》 在之前的文章中&#xff0c;我们分享了一个开源的农民世界(Farmers World)脚本 【OpenFarmer】&#xff1a;https://github.com/encoderlee/OpenFarmer 经过这段时间以来的不断学习&#xff…

【HTML】重点知识内容~快速上手

推荐前端学习路线如下&#xff1a; HTML、CSS、JavaScript、noodJS、组件库、JQuery、前端框架&#xff08;Vue、React&#xff09;、微信小程序和uniapp、TypeScript、webpack 和 vite、Vue 和 React 码源、NextJS、React Native、后端内容。。。。。。 HTML基本结构&#xff…

QT教程:QSortFilterProxyModel代理实现自定义排序、联合过滤

1. QsortFilterProxyModel介绍 QsortFilterProxyModel类用来为model和view之间提供强大的排序和过滤支持。将模型排序或者过滤后在视图上显示,并且无需对模型中的数据进行任何转换&#xff0c;也无需对模型在中数据进行修改。 比如: 对某列筛选带有”xxx”的关键字出来.并支持…

Maya——1——在maya中,用Arnold(阿诺德)还原Subtance Painter(sp)中的材质效果。

1根据上图的导出选项&#xff0c;在sp中设置arnold的导出参数&#xff0c;得到五张贴图&#xff0c;删掉其中的高度图&#xff08;用不上&#xff09;留下这四张 base&#xff08;基础颜色&#xff09; Metallic&#xff08;金属度&#xff09; Normal&#xff08;法线&#x…

Google Colab训练yolov3自定义数据集

共分7步&#xff1a; 一、进入Google Colab训练环境 二、下载编译Darknet 三、上传数据集 四、修改配置文件 五、下载预训练权重文件 六、开始训练数据 七、测试训练结果 一、进入Google Colab训练环境 打开 Google Drive 云端硬盘 新建Google Colaboratory文件&#xff0c;…

公共大数据集群中如何配置 YARN 的公平调度器和容量调度器

公共大数据集群中如何配置 YARN 的公平调度器和容量调度器 1 YARN 资源管理框架与公平/容量调度器 作为一款资源调度框架&#xff0c;Yarn 支持可插拔的调度器&#xff0c;常见的调度器有公平调度器 fair scheduler 和容量调度器 capacity scheduler。常见的大数据发行版中&a…

一张照片,如何生成一个二维码?

冬天落在恭王府的第一场大雪、春天聚在河边觅食的麻雀、盛夏午后从冰箱里拿出来的大西瓜、深秋爬满南墙的红叶……每一份惊喜和快乐&#xff0c;都值得分享给更多的朋友。 今天我们要介绍的是&#xff0c;如何将一张照片&#xff0c;做成一个二维码&#xff0c;扫码后就可以看…

利用两个小demo理解汇编代码排查内存溢出问题

利用两个小demo理解汇编代码排查内存溢出问题 https://www.cnblogs.com/liuchuanloong/articles/16925695.html 【背景】 近日处理现场问题时遇到了踩内存导致的崩溃问题&#xff0c;然而个人对反汇编程序执行过程不熟悉&#xff0c;通过查阅资料&#xff0c;对比分析两个小d…

不适用于云的应用程序有哪些?

所有应用程序都适合在云上运行吗?这是在云计算中寻求改进IT解决方案的企业经常问的一个问题。这个问题的答案是“视情况而定”。虽然企业云的应用正在飞速发展&#xff0c;大多数企业都在考虑将整个应用程序迁移到云上&#xff0c;以实现可伸缩、灵活、可访问、敏捷和精益的工…

PC端配置定位服务步骤(依赖于腾讯位置服务)

目录 第一步 &#xff1a; 安装 jsonp 第二步 &#xff1a; 在mian.js中配置并使用 第三步 &#xff1a; 在 manifest.json中进行相关配置 第四步 &#xff1a; 获取经纬度值&#xff0c;从而得到地址 第一步 &#xff1a; 安装 jsonp 执行此代码 &#xff1a; np…

Origin2022安装教程

Origin2022他来了&#xff01; 本人虽然是Python和R的资深绘图用户&#xff0c;偶尔也用用Origin&#xff0c;Origin的优势区间是手动、全可控&#xff0c;要素复杂事图片效果好&#xff1a; 安装方法和安装包下载破解见文末&#xff1a; Origin 2022新要素 1.对地理要素和…

基于 51 单片机室内灯光控制系统

1. 功能介绍 这是基于 STC89C52 单片机设计的灯光控制系统&#xff0c;实现对室内灯光的控制&#xff0c;采集光敏传感器&#xff0c;红外线热释电传感器&#xff0c;声音传感器&#xff0c;光照照度传感器等数据进行处理&#xff0c;完成室内灯光的智能控制。 支持的功能与设…

VBox组件内部局域网

我使用VirtualBox并不是很专业&#xff0c;只是拿它来组件服务器。后来这个虚拟机对我越来越重要&#xff0c;我的各种测试服务器和学习服务器越来越多&#xff0c;于是我就给他们规划了IP地址&#xff0c;像这样: 我用的网络一直都是桥接&#xff0c;每个虚拟机都可以上网&…

高性能HTTP和反向代理Web服务器 - Nginx

Nginx一、安装1.1.Windows安装1.2.Linux安装1.3.常用命令二、动静分离三、反向代理3.1.正向代理3.2.反向代理四、负载均衡4.1.轮询4.2.加权轮询4.3.Ip hash五、限流六、缓存七、黑白名单Nginx是一个高性能的HTTP服务器和反向代理的web服务器&#xff0c;同时也提供IMAP&#xf…

一文带你读懂公司卫生间一直有人窜稀的原理

不知道你有没有这样的经历&#xff0c;一直忙忙碌碌&#xff0c;需求不断&#xff0c;当你终于解决完手头的事情&#xff0c;突然特别着急想要去卫生间的时候&#xff0c;仅有的几个门总是关着的&#xff0c;于是怀疑&#xff0c;可能其他人更需要这次机会&#xff0c;他们也一…

华为云安装Docker,在其中安装Tomcat运行Html项目一步到位

一日不学习浑身难受&#xff0c;对于追光者的我来说&#xff0c;就是这种情况&#xff01;&#xff01;&#xff01;今天心血来潮&#xff0c;想把云服务器、Docker、Tomcat、Html项目集成一块进行练习&#xff0c;为了后面的部署项目做准备。 环境介绍&#xff1a;华为云cent…

KafKa存储机制

目录 存储机制 kafka 存储选型 Kafka 存储方案剖析 kafka 存储架构设计 kafka 日志系统架构设计 日志目录布局 磁盘数据存储 可靠性 Producer的可靠性保证 kafka 配置为 CP系统 kafka 配置为 AP系统 Broker 的可靠性保证 Consumer 的可靠性策略 AutoCommit&#xff…

【二叉树从无到有】

目录&#xff1a;前言一、树1.什么是树结构&#xff1f;2.为什么使用树结构&#xff1f;3.树的概念4.树的表示5.树在现实生活中的应用二、二叉树&#xff08;一&#xff09;二叉树概念既结构1.概念2.现实中的二叉树3.特殊的二叉树4.二叉树的性质5.二叉树的存储结构&#xff08;…