Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Js原生Ajax和Jquery的Ajax

Js原生Ajax和Jquery的Ajax

作者头像
忆想不到的晖
发布于 2022-04-13 09:33:57
发布于 2022-04-13 09:33:57
20K00
代码可运行
举报
文章被收录于专栏:huihui
运行总次数:0
代码可运行

Js原生Ajax和Jquery的Ajax

一、Ajax概述 1.什么是同步,什么是异步 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待 卡死状态 异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随 意做其他事情,不会被卡死

2.Ajax的运行原理 页面发起请求,会将请求发送给浏览器内核中的Ajax引擎,Ajax引擎会提交请求到 服务器端,在这段时间里,客户端可以任意进行任意操作,直到服务器端将数据返回 给Ajax引擎后,会触发你设置的事件,从而执行自定义的js逻辑代码完成某种页面1 功能。

二、js原生的Ajax技术(了解) js原生的Ajax其实就是围绕浏览器内内置的Ajax引擎对象进行学习的,要使用js原 生的Ajax完成异步操作,有如下几个步骤: 1)创建Ajax引擎对象 2)为Ajax引擎对象绑定监听(监听服务器已将数据响应给引擎) 3)绑定提交地址 4)发送请求 5)接受响应数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
		//原生js,Ajax异步访问
    	function fn1(){
    		//创建ajax引擎对象
    		var xmlHttp = new XMLHttpRequest();
    		
    		//监听状态
    		xmlHttp.onreadystatechange = function(){
    			if(xmlHttp.readyState==4&&xmlHttp.status==200){
    				var content = xmlHttp.responseText;
    				document.getElementById("span1").innerHTML = content;
    				console.log(content);
    			}	
    		};
    		
    		var url = "/Ajax/ajaxdemo";
    		//设置请求方式和地址、是否异步
    		xmlHttp.open("GET",url,true);
    		//发送请求
    		xmlHttp.send();
    	}

onreadystatechange 事件 当请求被发送到服务器时,我们需要执行一些基于响应的任务。

每当 readyState 改变时,就会触发 onreadystatechange 事件。

readyState 属性存有 XMLHttpRequest 的状态信息。

下面是 XMLHttpRequest 对象的三个重要的属性:

属性 描述 onreadystatechange 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。 readyState 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。

0: 请求未初始化 1: 服务器连接已建立 2: 请求已接收 3: 请求处理中 4: 请求已完成,且响应已就绪

status 200: "OK" 404: 未找到页面

在 onreadystatechange 事件中,我们规定当服务器响应已做好被处理的准备时所执行的任务。

当 readyState 等于 4 且状态为 200 时,表示响应已就绪:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }

注意:如果是post提交 在发送请求之前设置一个头

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

ajax异步POST方式访问

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
		//ajax异步POST方式访问
    	function fn3(){
    		var xmlHttp = new XMLHttpRequest();
    		
    		//监听状态
    		xmlHttp.onreadystatechange = function(){
    			if(xmlHttp.readyState==4&&xmlHttp.status==200){
    				var content = xmlHttp.responseText;
    				document.getElementById("span3").innerHTML = content;
    				console.log(content);
    			}	
    		};
    		
    		var url = "/Ajax/ajaxdemo";
    		//设置请求方式和地址、是否异步(true异步,false同步)
    		xmlHttp.open("POST",url,true);
    		//post提交在发送请求之前设置一个头
    		xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    		xmlHttp.send("name=hui");
    	}

总结: 所用异步访问都是ajax引擎

三、Json数据格式(重要)

json是一种与语言无关的数据交换的格式,作用: 使用ajax进行前后台数据交换 移动端与服务端的数据交换

1.Json的格式与解析 json有两种格式: 1)对象格式:{“key1”:obj,“key2”:obj,“key3”:obj…} 2)数组/集合格式:[obj,obj,obj…]

例如:user对象 用json数据格式表示 {“username”:“zhangsan”,“age”:28,“password”:“123”,“addr”:“北京”}

List 用json数据格式表示 [{“pid”:“10”,“pname”:“小米4C”},{},{}]

注意:对象格式和数组格式可以互相嵌套

注意:json的key是字符串 jaon的value是Object

json的解析: json是js的原生内容,也就意味着js可以直接取出json对象中的数据

2.Json的转换插件

将java的对象或集合转成json形式字符串

json的转换插件是通过java的一些工具,直接将java对象或集合转换成json字符串。 常用的json转换工具有如下几种: 1)jsonlib 2)Gson:google 3)fastjson:阿里巴巴

四、Jquery的Ajax技术(重点) jquery是一个优秀的js框架,自然对js原生的ajax进行了封装,封装后的ajax的操 作方法更简洁,功能更强大,与ajax操作相关的jquery方法有如下几种,但开发中 经常使用的有三种

1).get(url, [data], [callback], [type]) 2).post(url, [data], [callback], [type])

其中: url:代表请求的服务器端地址 data:代表请求服务器端的数据(可以是key=value形式也可以是json格式) callback:表示服务器端成功响应所触发的函数(只有正常成功返回才执行) type:表示服务器端返回的数据类型(jquery会根据指定的类型自动类型转换) 常用的返回类型:text、json、html等

3)$.ajax( { option1:value1,option2:value2… } ); 常用的option有如下: async:是否异步,默认是true代表异步 data:发送到服务器的参数,建议使用json格式 dataType:服务器端返回的数据类型,常用text和json success:成功响应执行的函数,对应的类型是function类型 type:请求方式,POST/GET url:请求服务器端地址

Ajax图解:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/07/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JavaWeb后端入门13—Ajax
异步:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随意做其他事情,不会被卡死
用户6948990
2025/04/03
830
AJAX
XMLHttpRequest对象有一个onreadystatechange事件,可以监听这五个状态,它会在XMLHttpRequest对象的状态发生变化时被调用 xmlHttp.readyState属性中存放在此时的状态值 通过以上内容,我们可以监听到来自服务器的响应
py3study
2020/01/20
4.4K0
java实现ajax_Ajax&Java
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML)
全栈程序员站长
2022/09/08
1.3K0
【AJAX】AJAX技术详细解析以及实例
全称: Asynchronized(异步) Javascript And Xml 技术组成有: Javascript、DOM、CSS 和 XMLHttpRequest
谙忆
2021/01/21
1.2K0
【AJAX】AJAX技术详细解析以及实例
原生JS与jQuery对AJAX的实现
AJAX 不是新的编程语言,而是一种使用现有标准的新方法。AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。
山河木马
2019/03/05
3.2K0
原生JS与jQuery对AJAX的实现
Ajax必须了解的(最全 通俗版)
xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4) { //从服务器的response获得数据 } }
编程张无忌
2021/01/26
1.6K0
Ajax必须了解的(最全 通俗版)
JS实现的ajax和同源策略
其实AJAX就是在Javascript中多添加了一个对象:XMLHttpRequest对象。所有的异步交互都是使用XMLHttpServlet对象完成的。也就是说,我们只需要学习一个Javascript的新对象即可。
用户1214487
2022/03/26
2.6K0
JS实现的ajax和同源策略
ajax用法示例_json.tojavaobject
这次给大家带来Ajax与.ajax实例详解,Ajax与.ajax使用的注意事项有哪些,下面就是实战案例,一起来看一下。
全栈程序员站长
2022/09/22
1.2K0
AJAX的基本原理及实例解析。
Ajax的全称是Asynchronous JavaScript and XML,即异步JavaScript+XML。它并不是新的编程语言,而是几种原有技术的结合体。它由以下几种技术组合而成,包括:
7537367
2020/08/10
1K0
XMLHttpRequest用法介绍
林老师带你学编程
2018/01/03
2K0
Java Web(十一)Ajax&Axios&JSON
数字(整数或浮点数)字符串(在双引号中)逻辑值(true 或 false)数组(在方括号中)对象(在花括号中)null
浅辄
2022/11/23
8560
Java Web(十一)Ajax&Axios&JSON
AJAX和JSON详解
AJAX全称ASynchronous JavaScript And XML,含义为异步的JavaScript 和 XML。 异步和同步:客户端和服务器端相互通信的基础上
共饮一杯无
2022/11/28
3.1K0
AJAX和JSON详解
第88节:Java中的Ajax和ASP.NET和TCP/IP 教程和JSON
ajax是asynchronous javascript and xml(异步javascript和xml),是指一种创建交互式网页应用的网页开发技术。
达达前端
2019/07/03
1.5K0
第88节:Java中的Ajax和ASP.NET和TCP/IP 教程和JSON
Ajax&Json笔记(1)
张哥编程
2024/12/19
1310
前端基础-AJAX
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
cwl_java
2019/12/11
5530
JQuery 封装 Ajax Post 请求示例
发送 POST 其实很简单可以在之前发送 GET 请求的基础上进行更改一些内容即可进行发送 POST 请求了:
程序员NEO
2023/09/22
4280
JQuery 封装 Ajax Post 请求示例
什么是AJAX?
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
PM吃瓜
2019/08/12
1.8K0
什么是AJAX?
Ajax 知识入门从这里开始【简约版,后期重新归纳整理】
Ajax(Asynchronous JavaScript and XML) 异步的 JavaScript 和 XML
BWH_Steven
2019/09/29
4920
Ajax 知识入门从这里开始【简约版,后期重新归纳整理】
AJAX——百闻不如一见
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
泰斗贤若如
2019/06/18
6340
Ajax是技术还是框架?走进Ajax的前世今生
时间决定你会在生命中遇到谁,你的心决定你想要谁出现在你的生命里,而你的行为决定最后谁能留下————《瓦尔登湖》
山河已无恙
2023/03/02
5K0
Ajax是技术还是框架?走进Ajax的前世今生
相关推荐
JavaWeb后端入门13—Ajax
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验