Ajax的学习
AJAX的学习
AJAX的简介
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。
AJAX 是一种用于创建快速动态网页的技术。
AJAX的优缺点
优点:
不需要插件支持
用户体验极佳
提升Web程序性能
减轻服务器和宽带的负担
缺点:
前进后退按钮被破坏
搜索引擎的支持不够
开发调试工具缺乏
XHR的创建与兼容
1.创建 XMLHttpRequest 对象的语法:
variable=new XMLHttpRequest();
2.老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象:
variable=new ActiveXObject("Microsoft.XMLHTTP");
AJAX如何工作

正如您在上面的示例中所看到的,XMLHttpRequest对象起着重要作用。
- 用户从UI发送请求,JavaScript中调用XMLHttpRequest对象。
- HTTP请求由XMLHttpRequest对象发送到服务器。
- 服务器使用JSP,PHP,Servlet,ASP.net等与数据库交互。
- 检索数据。
- 服务器将XML数据或JSON数据发送到XMLHttpRequest回调函数。
- HTML和CSS数据显示在浏览器上。
 
AJAX的连接(封装过)
  POST和GET的区别:
    1.POST主要用来发送数据,GET主要用来接受数据;
    2.PSOT发送数据的安全性较好,而GET较差;
    3.POST发送数据不限制大小,而GET大小受限2~100k。
    什么时候用GET和POST:在数据获取时用GET方式,在操作数据时应使用POST方式。
1.GET连接
 function ajaxGet(url,cb,data){
     data = data || {};
     var str = "";
     for(var i in data){
         str += `${i}=${data[i]}&`;
     }
     var d = new Date();
     url = url + "?" + str + "__qft="+d.getTime();
     var xhr = new XMLHttpRequest();
     xhr.open("get",url,true);
     xhr.onreadystatechange = function(){
         if(xhr.readyState == 4 && xhr.status == 200){
             cb(xhr.responseText)
         }
     }
     xhr.send();
 }
2.POST连接
 function ajaxPost(url,callback,data){
     data = data || {};
     var str = "";
     for(var i in data){
         str += `${i}=${data[i]}&`;
     }
     var xhr = new XMLHttpRequest();
     xhr.open("POST",url,true);
     xhr.onreadystatechange = function(){
         if(xhr.readyState == 4 && xhr.status == 200){
             callback(xhr.responseText);
         }
     }
     xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
     xhr.send(str);
 }
拓展
XHR readyState
AJAX - onreadystatechange 事件
      当发送一个请求后,客户端需要确定这个请求什么时候会完成,因此,XMLHttpRequest对象提供了onreadystatechange事件机制来捕获请求的状态,继而实现响应。
当请求被发送到服务器时,我们需要执行一些基于响应的任务。
      每当readyState改变时,就会触发onreadystatechange事件。
      readyState属性存有 XMLHttpRequest 的状态信息。
回调函数
回调函数是一种以参数形式传递给另一个函数的函数。
如果您的网站上存在多个 AJAX 任务,那么您应该为创建 XMLHttpRequest 对象编写一个标准的函数,并为每个 AJAX 任务调用该函数。
      该函数调用应该包含 URL 以及发生onreadystatechange事件时执行的任务(每次调用可能不尽相同)
Ajax的学习的更多相关文章
- ajax基础学习
		AJAX即"Asynchronous JavaScript and XML",意思是异步JavaScript和XML,是指一种创建交互式网页的网页开发技术. 虽然现在很少有人去自己 ... 
- day64—ajax技术学习笔记
		转行学开发,代码100天——2018-05-19 Ajax技术学习笔记 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).AJA ... 
- AJAX的学习与使用>前端技术系列
		目录 AJAX的学习与使用 什么是AJAX 为什么要使用AJAX AJAX接收服务器响应数据的3种格式 文本格式(重要) JSON格式(重要) 服务器端响应实体类JSON格式的3种方式 修改实体类的t ... 
- 【Ajax 基础学习】
		http://www.cnblogs.com/guduoduo/p/3681296.html 今天简单的学习了 Ajax 的基础知识,总结在这里.部分代码不是原创,特此说明. [Ajax 简介] AJ ... 
- AJAX(学习笔记一)
		1:什么是AJAX? AJAX是一组英文单词的简写,这组英文单词是 :Asynchronous JavaScript and XML ,翻译成中文的意思是: 异步的JavaScript 和 XML.什 ... 
- 【转】Ajax 基础学习
		今天简单的学习了 Ajax 的基础知识,总结在这里.部分代码不是原创,特此说明. [Ajax 简介] AJAX = Asynchronous JavaScript and XML(异步的 JavaSc ... 
- 20151211Jquery  Ajax进阶学习笔记
		四.JSON 和 JSONP 如果在同一个域下,$.ajax()方法只要设置 dataType 属性即可加载 JSON 文件.而在非 同域下,可以使用 JSONP,但也是有条件的. //$.ajax( ... 
- AJAX入门学习(转)
		一.基础概念 1.全称:Asynchronous.JavaScript.And.XML(异步的 JavaScript 和 XML). 2.定义: Ajax不是一个技术,它实际上是几种技术,每种技术都有 ... 
- AJAX初步学习
		AJAX(Asynchronous JavaScript and XML)即异步的JavaScript与XML技术,指的是一套综合了多项技术的浏览器端网页开发技术.其实就是为了解决传统页面同步刷新,消 ... 
随机推荐
- pycharm 中文乱码
			新机的pycharm首次输出中文竟然在控制台报错了,着实让我头疼了一下午 我用的PyCharm是2018.3版本 在调用os.system()的过程中遇到了控制台中文乱码的问题,具体如下 找到对应 ... 
- 微信小程序测试检查点
			1.权限测试 需要检查以下几种情况下微信用户访问的权限1)未授权微信登录小程序未授权时,一般使用一些业务功能的时候,都会弹出提醒:先授权再操作对应功能.或在提交数据到后台的时候,会提示补充相关身份信息 ... 
- 【转载】    AutoML相关论文
			原文地址: https://www.cnblogs.com/marsggbo/p/9308518.html ---------------------------------------------- ... 
- SIT测试 和 UAT测试
			在企业级软件的测试过程中,经常会划分为三个阶段——单元测试,SIT和UAT,如果开发人员足够,通常还会在SIT之前引入代码审查机制(Code Review)来保证软件符合客户需求且流程正确.下面简单介 ... 
- 【418】C语言ADT实现Quack(stack+queue)
			quack.h #include <stdio.h> #include <stdlib.h> #include <assert.h> typedef struct ... 
- ubuntu 17.04 Tomcat安装
			安装Tomcat分为两步: JDK和Tomcat 安装jdk 1.在oralce官网下载jdk 
- java中byte数组,二进制binary安装chunk大小读取数据
			int CHUNKED_SIZE = 8000; public void recognizeText(byte[] data) throws InterruptedException, IOExcep ... 
- Node中使用MySQL报错:TypeError: Cannot read property 'query' of undefined
			Node中使用MySQL报错: TypeError: Cannot read property 'query' of undefined at /Users/sipeng/Desktop/彭思/201 ... 
- node节点扩容
			node节点扩容: 安装docker 部署 kubelet组件 拷贝admin.conf 拷贝bootstrap.conf 安装cni网络插件 拷贝ca.pem 证书,配置kubelet-config ... 
- self-attention详解
			编写你自己的 Keras 层 对于简单.无状态的自定义操作,你也许可以通过 layers.core.Lambda 层来实现.但是对于那些包含了可训练权重的自定义层,你应该自己实现这种层. 这是一个 K ... 
