Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Ajax学习计划

Ajax学习计划

作者头像
Marco爱吃红烧肉
发布于 2021-07-27 08:28:18
发布于 2021-07-27 08:28:18
55800
代码可运行
举报
文章被收录于专栏:无敌小笼包无敌小笼包
运行总次数:0
代码可运行

AJAX:Asynchronous Javascript And XML(异步JavaScript和XML)。是指一种创建交互式网页应用的网页开发技术。 AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。 AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。

Ajax介绍

特点:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
什么是服务器:
搭建简单的本地服务器软件Wamp、XAMPP,提供简单的用户服务,读取数据。

使用Ajax

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
基础:请求并显示静态TXT、json文件
字符集编码:UTF-8GB2312,使用相同的编码。
缓存:chrome下的缓存还不是很严重,IE下的缓存比较严重,除非关闭浏览器。

缓存的工作原理:通过URL进行缓存的。通常可以使用URL?t= + new Date().getTime()
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
window.onload = function (){
	var oBtn = document.getElementById('Btn1');

	oBtn.onclick = function (){
		ajax('aa.txt?t=' + new Date().getTime(),
			function(str){
				alert(str);
			},function(){
				alert('失败');
			});
	}
}
通过Ajax读取的都是字符串
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
通过eval()将文件内容解析成JS可以识别的内容
window.onload = function (){
	var oBtn = document.getElementById('Btn1');

	oBtn.onclick = function (){
		ajax('aa.txt?t=' + new Date().getTime(),
			function(str){
				var SA = eval(str);
				alert(SA[1]);
			},function(){
				alert('失败');
			});
	}
}
读取Json文件
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
window.onload = function (){
	var oBtn = document.getElementById('Btn1');
	var oUls = document.getElementById('ul1');

	oBtn.onclick = function (){
		ajax('aa.txt?t=' + new Date().getTime(),
			function(str){
				var SA = eval(str);

				for(var i=0;i<SA.length;i++){
					var oLi = document.createElement('li');
					oLi.innnerHTML='用户名:<strong>' + SA[i].name +'</strong>密码:<span>' + SA[i].pass + '</span>';
					//添加到Ul里
					oUl.appenChild(oLi);
				}
				alert(SA[1]);
			},function(){
				alert('失败');
			});
	}
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
HTTP请求的方法
GET:用于获取数据(如:浏览贴子)
POST:用于上传数据(如:用户注册)
区别:
get是在URL里传送数据:安全性低、容量有限(2000字符),有缓存,适合请求信息
post是通过HTTP请求,安全性好一点,无缓存,适合传递信息
安全的方式使用HTTPSGET方式:
?name=word&password=password

Ajax进阶

创建Ajax

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
IE6
var oAjax = new ActiveXObject("Microsoft.XMLHTTP");

var oAjax = new XMLHttpRequest();
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
注意:

//使用没有定义的变量——报错
alert(a);

//使用没有定义的属性——undefined
alert(window.a);
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function (){
	if(window.XMLHttpRequest){
		var oAjax = new XMLHttpRequest();
	}else{
		var oAjax = new ActiveXObject("Microsoft.XMLHTTP");
	}
}

连接服务器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
open(方法,连接的文件名,同步/async异步true)ajxa其实都是异步的
open(method,url,async);
oAjax.opan('GET','a.text?=t'+new Date().getTime(),true);



同步和异步的区别?


同步:(一次加载)浏览器访问服务器请求,用户看得到页面刷新,重新发请求,等请求完,页面刷新,新内容出现,用户看到新内容,j进行下一步操作。

异步:(同时加载)浏览器访问服务器请求,用户正常操作,浏览器后端进行请求。等请求完,页面不刷新,新内容也会出现,用户看到新内容。

(待完善)

发送请求

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
oAjax.send();
send(string);

接收返回

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
oAjax.onreadystatechange = function(){
	//浏览器和服务器,进行到哪一步了
	if(oAjax.readyState==4){
		if(oAjax.status==200){
			alert('成功:'+oAjax.status);
		}else{
			alert('失败:'+oAjax.status);
		}
	}
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0 (未初始化)
1 (载入)
2 (载入完成)send()方法完成,已接收全部信息
3 (解析)正在解析响应
4 (完成)完成但不代表成功
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Ajax Status请求状态

200 成功
301
304
404
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
IE6
var oAjax = new ActiveXObject("Microsoft.XMLHTTP");

var oAjax = new XMLHttpRequest();
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
封装函数

function ajax(url,fnSucc,fnFaild){
	if(window.XMLHttpRequest){
		var oAjax = new XMLHttpRequest();
	}else{
		var oAjax = new ActiveXObject("Microsoft.XMLHTTP");
	}

	oAjax.opan('GET','url?=t'+new Date().getTime(),true);

	oAjax.send();

	oAjax.onreadystatechange = function(){
		if(oAjax.readyState==4){
			if(oAjax.status==200){
				fnSucc(oAjax.responseText);
			}else{
				if(fnFaild){
					fnFaild(oAjax.status);
				}
			}
		}
	}
}

ajax('a.txt',function(str){
	alert(str);
})
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
封装函数

function ajax(url,data,fnSucc,fnFaild){
	if(window.XMLHttpRequest){
		var oAjax = new XMLHttpRequest();
	}else{
		var oAjax = new ActiveXObject("Microsoft.XMLHTTP");
	}

	oAjax.opan('POST','url',true);

	oAjax.setRequestHeader("Content-type","application/x-www-form-urlencoded");

	oAjax.send(data);

	oAjax.onreadystatechange = function(){
		if(oAjax.readyState==4){
			if(oAjax.status==200){
				fnSucc(oAjax.responseText);
			}else{
				if(fnFaild){
					fnFaild(oAjax.status);
				}
			}
		}
	}
}

ajax('a.txt','name=' + document.getElementById("staffName").value + '&number=' + document.getElementById("staffNumber").value + '&sex=' + document.getElementById("staffSex").value + '&job=' + document.getElementById("staffJob").value,function(str){
	alert(str);
})

Ajax数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
XML、Json:同等数据量,XML更大
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-01-27,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
原生JS--Ajax
Ajax基础: --ajax:无刷新数据读取,读取服务器上的信息 --HTTP请求方法:     --GET:用于获取数据,如浏览帖子     --POST:用于上传数据,如用户注册
莫问今朝
2019/02/25
6.7K0
JS示例12-ajax请求封装
一、知识要点 1、如何封装一个ajax请求 2、如何处理成功失败回调 二、源码参考 image.png <!DOCTYPE HTML> <html> <head> <meta charse
专注APP开发
2019/11/07
3.7K0
JS示例12-ajax请求封装
【javascript】ajax 基础
http://www.cnblogs.com/yjzhu/archive/2013/01/28/2879542.html
bear_fish
2018/09/19
3750
PHP中AJAX的使用(完整实例【大牛可飘过】)
  有一段时间不写关于AJAX的东西了,最近和同学参加个比赛,要做一个类似博客的东西,用到了AJAX的东西,在写东西之前为了再熟悉一下AJAX,自己做了个关于AJAX的小事例与大家分享一下。   AJAX在js里可谓是一个牛气冲天的一个词,我刚学的时候有点望名生畏。对于初学者来说AJAX看似很难,图书馆里有些关于AJAX的教程比板砖都厚,看了就不想学。但当你真正长用的东西其实就那么写。在这就不扯那些书上扯的AJAX的历史考古的淡了,不然的话会碎的,你懂的。OK直入正题。   在这呢我主要说一下AJAX的用法
lizelu
2018/01/11
1.1K0
JS示例11-ajax对象(未封装请求)
1、ajax对象(XMLHttpRequest和ActiveXObject) 2、如何兼容IE6浏览器
专注APP开发
2019/11/07
2.4K0
JS示例11-ajax对象(未封装请求)
ajax的jquery写法和原生写法
Ajax被认为是(Asynchronous(异步) JavaScript And Xml的缩写)。现在,允许浏览器与服务器通信而无须刷新当前页面的技术都被叫做Ajax.
三哥
2018/12/28
2K0
JS示例10-ajax的简单使用
1、GET请求 2、eval的使用(读取JSON) 3、创建元素document.createElement('li') 4、innerHTML的使用
专注APP开发
2019/11/07
2K0
JS示例10-ajax的简单使用
Ajax技术详解(上)
我们知道,在没有ajax技术之前,客户端若要与服务端进行数据交互,它的大概流程是:客户端发起一个http请求(也可能是其他的请求)然后处于等待状态,等到服务端将数据发送给客户端,客户端才会进行下一步操作,简单来讲,就是单纯的同步操作。然而,在现如今这个用户至上的年代,任何一个让用户不满的小操作都会导致巨大的流量丢失。
石璞东
2020/05/09
2.1K0
如何封装属于自己的ajax
如何封装属于自己的ajax?小编带你探探路。。 // 1准备一个电话 准备ajax // 2 拨号 建立 建立连接 (跟服务器) // 3 发送 ajax 发送 // 4 等待 通了 说话 监听状态 4 200-300 304 function ajax(){ if(window.XMLHttpRequest){ //创建ajax ie7++ chorme firefox var oAjax=new XMLHttpRequest(); }else{ var oAj
企鹅号小编
2018/01/19
9600
JS-利用ajax获取json数据,并传入页面生成动态tab
封装好的:ajax.js 1 function ajax(url, fnSucc,fnFaild){ 2 //1【创建】 3 if(window.XMLHttpRequest){ 4 var oAjax = new XMLHttpRequest(); 5 }else{ 6 var oAjax = new ActiveXObject("Microsoft.XMLHTTP"); 7 }; 8 9 //2: 【连接
xing.org1^
2018/05/17
3.9K0
Ajax
什么是Ajax? Ajax是一种可以与服务器交换数据并更新部分页面内容,同时可以在不让整个网页重新加载的情况下更新网页的一种技术 Ajax请求过程: 1:创建一个异步对象 var xmlHttp = new XMLHttpRequest(); 2:设置请求方式和请求地址 /* 参数顺序,描述 (1)method:请求的类型;GET 或 POST (2)url:文件在服务器上的位置 (3)async:true(异步)或 false(同步) (一般为true,因ajax的精髓就是
jinghong
2020/05/09
6.1K0
自己整理的一些javascript 的常用函数
刚学,就觉得原生实在是太不好写了。为了学习,也不能总用JQ,所以,就整理了一些常用的函数,以便自己在需要的时候,随时使用。
FungLeo
2022/11/28
2420
Ajax学习笔记
xml的readyState状态https://www.cnblogs.com/luoguixin/p/6249566.html
逆回十六夜
2020/02/17
3000
原生——ajax
什么是Ajax?(前后端数据交互) Asynchronous JavaScript and XML(异步JavaScript和XML)
FinGet
2019/06/28
2.1K0
JQuery 封装 Ajax Post 请求示例
发送 POST 其实很简单可以在之前发送 GET 请求的基础上进行更改一些内容即可进行发送 POST 请求了:
程序员NEO
2023/09/22
4480
JQuery 封装 Ajax Post 请求示例
javascript基础-3
window.resizeBy(XX[px],YY[px]);——窗口尺寸变化的单位为:±XX,±YY (单位/px); window.resizeTo(XX[px],YY[px]);——窗口尺寸变换为:XX,YY(单位/px); window.scrollBy(XX[px],YY[px]);——屏幕滚动的单位为:±XX,±YY (单位/px); window.scrollToo(XX[px],YY[px]);———屏幕滚动到数据位置:XX,YY(单位/px); object.onscroll();onscroll事件:元素滚动时执行..; document.Element.scrollTop||document.body.scrollTop;回顶;
py3study
2020/01/13
1.1K0
第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
Web前端-Ajax基础技术(上)
ajax是浏览器提供一套的api,用于向服务器发出请求,接受服务端返回的响应,通过javascript调用,实现通过代码控制请求与响应,实现网络编程。
达达前端
2019/07/03
1.5K0
Web前端-Ajax基础技术(上)
Ajax详解
image.png 一:什么是Ajax Ajax是(Asynchronous JavaScript And XML)是异步的JavaScript和xml。也就是异步请求更新技术。Ajax是一种对现有技术的一种新的应用,不是一门新语言。它是用JavaScript编写。与xml的关系就是可以读取和返回xml文件。 二:Ajax中的对象和方法说明 Ajax的核心对象就是xmlHttpRequest XMLHttpRequest用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分
java达人
2018/01/31
9140
Ajax详解
【AJAX】AJAX技术详细解析以及实例
全称: Asynchronized(异步) Javascript And Xml 技术组成有: Javascript、DOM、CSS 和 XMLHttpRequest
谙忆
2021/01/21
1.2K0
【AJAX】AJAX技术详细解析以及实例
相关推荐
原生JS--Ajax
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验