ajax的介绍及使用

news/2024/4/23 20:57:21/文章来源:https://blog.csdn.net/quanmeiren/article/details/130350238

ajax的介绍

开发流程

前端

ajax:前后端沟通的桥梁

后端

ajax介绍

ajax叫做异步的Javascript和xml

ajax通过浏览器与服务器(后端)进行少量数据交互,进行页面异步更新(网页不会重新加载)

优点:

  1. 减轻服务器负担,按需要获得数据。

  2. 无刷新更新页面,减少用户的实际和心理的等待时间,更好的用户体验。

同步和异步

同步(阻塞):一次只能执行一个程序,当程序中断会影响后面的程序执行

异步(非阻塞):一次可以执行多个程序,互不干扰。当程序中断不会影响后面代码执行

ajax的get请求

get请求分为四个步骤:
1、创建ajax对象
2、配置请求的方式和请求的地址
3、发送请求
4、监听状态的改变,获取响应的数据

1、创建ajax对象

let xhr = new XMLHttpRequest();

2、配置请求方式和地址

xhr.open('请求方式','请求的url地址?参数1=值&参数2=值')

3、发送http请求

xhr.send(null);

4、监听状态改变获取响应数据

xhr.onreadystatechange = function(){//判断请求是否完成if(xhr.readyState == 4 && xhr.status == 200){console.log(xhr.responseText)}
}

ajax的post请求

post请求分为五个步骤:
1、创建ajax对象
2、配置请求的方式和请求的地址
3、设置请求头
4、发送请求
5、监听状态的改变,获取响应的数据

1、创建ajax对象

let xhr = new XMLHttpRequest();

2、配置请求方式和地址

xhr.open('请求方式','请求的url地址?参数1=值&参数2=值')

3、设置请求头

xhr.setRequestHeader('content-type','application/x-www-form-urlencoded')

4、发送http请求

xhr.send(null);

5、监听状态改变获取响应数据

xhr.onreadystatechange = function(){//判断请求是否完成if(xhr.readyState == 4 && xhr.status == 200){console.log(xhr.responseText)}
}

XMLHttpRequest对象属性

readyState(***)

0: 请求未初始化

1: 服务器连接已建立

2: 请求已接收

3: 请求处理中

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

status

http的状态码为200,则代表成功 OK

常见的http状态码

200 (成功)

304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。

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

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

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

responseText

responseText 后端响应的内容

ajax调试四看

四看:

*1看地址* ( 查看请求地址有没有写对,有没有拼接完整 )

*2看方式和状态码*( 查看请求方式有没有写错,状态码是不是绿色的 )

*3 看参数*( 看请求参数有没有发出去,参数名是否拼写正确,参数值有没有 )

*4 看响应*( 看后端返回的结果有没有,数据对不对 )

 

请求头常见的类型

  • application/x-www-form-urlencoded 表单默认提交的格式

表单提交的格式 name=zhangsan&age=18

  • application/json

提交格式为json字符串 {name:'张三',age:18}

JSON.stringify()将数据转换为json字符串

  • formData

传输文件类型

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue3进阶使用详解(node.js、Vue3路由基础项目、axios的使用详细(实现数据分页---前后端分离)、axios加载失败)

Vue3进阶使用详解(node.js、Vue3路由基础项目、axios的使用详细(实现数据分页—前后端分离)、axios加载失败) Vue cli CLI是Commond-Line Interface,翻译为命令界面,又称脚手架。VueCLI是一个官方发布vue.js项目脚手架。使用VueCLI可以快速搭建vue开发…

v-for比v-if优先级更高?面试官:回去等通知吧

大厂面试题分享 面试题库 前后端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 web前端面试题库 VS java后端面试题库大全 前言 v-if和v-for哪个优先级更高呢?这是面试官常常问到的一个问题,…

算法训练 Day41 | 动态规划

343. 整数拆分 思路: 确定dp数组(dp table)以及下标的含义:dp[i]:分拆数字i,可以得到的最大乘积为dp[i]。 确定递推公式:dp[i] max(dp[i], max((i - j) * j, dp[i - j] * j)) 可以想 dp[i]最…

3.Spring Security实现JWT token验证

目录 1. Spring Security详细介绍 2. Spring Security详细使用 3. Spring Security实现JWT token验证 4. JWT(JSON Web Token,JSON令牌) 5. Spring Security安全注解 Spring Security实现JWT token验证 Spring Security是Spring提供的一…

【Spring篇】DI相关内容

🍓系列专栏:Spring系列专栏 🍉个人主页:个人主页 目录 一、setter注入 1.环境准备 2.注入引用数据类型 3.注入简单数据类型 二、构造器注入 1.环境准备 2.构造器注入引用数据类型 3.构造器注入多个引用数据类型 4.构造器注入多个简单数据类型 …

SAS学习第4章:t检验

前话:分析试验数据的差异,一般都会假设样本值之间或者样本与标准值之间无差异,根据不同方法计算得出的t值、q值、F值等等,均表示两者之间的差异程度,值越大,两者差异越大,该假设越不成立&#x…

Vue3+Three.js+antvG2实战项目 智慧城市(三)

前言 在网上找了很久都没有找到使用Three.js开发智慧城市的免费文章或者免费视频,自己花了一点时间做了一个纯前端的智慧城市项目。 技术栈都是最新的:vue3vitetypeScriptThreeantv G2 源码分享 源码 模型,天空图盒子链接分享(不想下载源码可以只用下这个)提取码1234 20230424_…

TVM: An Automated End-to-End Optimizing Compiler for Deep Learning

https://www.usenix.org/conference/osdi18/presentation/chen 文章目录 TVM: An Automated End-to-End Optimizing Compiler for Deep Learning引言1. 简介2. 总览3. 优化计算图4. 生成张量运算4.1 张量表达式和调度空间4.3 嵌套并行与协作4.3 张量化4.4 显式内存延迟隐藏 5 .…

跌倒检测和识别4:C++实现跌倒检测(含源码,可实时跌倒检测)

跌倒检测和识别4:C实现跌倒检测(含源码,可实时跌倒检测) 目录 跌倒检测和识别4:C实现跌倒检测(含源码,可实时跌倒检测) 1. 前言 2. 跌倒检测模型(YOLOv5) (1)跌倒检测模型训练 …

2023云数据库技术沙龙MySQL x ClickHouse专场成功举办

4月22日,2023首届云数据库技术沙龙 MySQL x ClickHouse 专场,在杭州市海智中心成功举办。本次沙龙由玖章算术、菜根发展、良仓太炎共创联合主办。围绕“技术进化,让数据更智能”为主题,汇聚字节跳动、阿里云、玖章算术、华为云、腾…

【大数据之Hadoop】十九、MapReduce总结

MapTask工作机制 (1)Read阶段: job的提交流程:待读写的源数据由客户端进行切片划分,划分完成之后提交(切片信息、jar包、xml配置文件)给yarn,yarn开启MrAppMaster,MrAppMaster读取切片信息&…

10.java程序员必知必会类库之邮件

前言 邮件功能在当前互联网应用中已经是很成熟的功能,也是作为java程序员应该掌握的技能。常见使用场景有: 电商软件开电子发票,需要发到用户邮箱里面生产实时报警,需要发到邮箱里面银行软件申请的征信报告,电子账单…

《C++ Primer Plus》(第6版)第17章编程练习

《C Primer Plus》(第6版)第17章编程练习 《C Primer Plus》(第6版)第17章编程练习1. 计算输入流中第一个\$之前的字符数目2. 将键盘输入(直到模拟的文件尾)复制到通过命令行指定的文件中3. 将一个文件复制…

【难学易用c++ 之 继承】

目录: 前言一、继承的概念及定义(一)概念(二)继承定义继承关系和访问限定符继承基类成员访问方式的变化 二、基类和派生类对象赋值转换三、继承中的作用域四、派生类的默认成员函数五、继承与友元六、继承与静态成员七…

如何使用阿里云短信服务实现登录页面,手机验证码登录?

1:个人如何使用阿里云短信服务? 2022如何使用个人阿里云短信服务?_linxiMY的博客-CSDN博客添加完成之后,等待审核!一般2个小时就会出来审核结果了,这里我因为注册申请时填写规则有误,足足审核了…

pytest 学习三(前置后置操作)

pytest测试框架_pytest框架-CSDN博客 一、常用的操作 一、setup/teardown 每个用例之前、之后执行 二、setup_class/teardown_class 在每个类之前、之后执行一次 二、pytest.fixture 设置前置后置操作范围 pytest.fixture(scope"",params,autouse,ids,name) 其中 sc…

JavaScript模块化开发

目录: 1 认识模块化开发 2 CommonJS和Node 3 require函数解析 4 AMD和CMD(了解) 5 ESModule用法详解 6 ESModule运行原理 模块化不是两个不同的js文件直接导入到某个页面中的,因为这两个文件只要有相同的变量或函数&#xf…

R基础函数概览(一)

rep 函数形式:rep(x, time , length , each ,) 参数说明: x:代表的是你要进行复制的对象,可以是一个向量或者是一个因子。 times:代表的是复制的次数,只能为正数。负数以及NA值都会为错误值。复制是指的…

云原生(docker+k8s+阿里云)-Docker

Gitee-Kubernetes学习 kubectl备忘清单 k8s官方文档-task [云原生-kubectl命令详解] ingress详解 ingress官方文档 云原生-语雀-架构师第一课 从Docker到Kubernetes进阶-社区 云计算学习路线-阿里云大学 如上图,服务器有公网ip和私网ip,公网ip是外部访问…

Ubuntu20.04使用多卡训练HyperNetwork模型和LoRA模型全流程及疑难问题解决方案

目录 一. LoRA模型多卡训练1.1 安装xformer等库1.2 设置路径1.3 多卡训练 二. LoRA模型多卡训练疑难报错解决方案多卡训练报错 软硬件配置: CPU: AMD 5800 8core 16Thread GPU: NVIDIA RTX 3090 *1 NVIDIA TITAN RTX *1 OS: Ubuntu20.04 一. LoRA模型多卡训练 1.1 …