ajax极简教程
一、什么是ajax
ajax即异步JavaScript和XML,它是一种用于创建快速动态网页的技术。作用是通过在后台与服务器进行少量数据交换,使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
二、实现ajax基本步骤
创建XMLHttpRequest对象,也就是创建一个异步调用对象.
创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息.
设置响应HTTP请求状态变化的函数.
发送HTTP请求.
获取异步调用返回的数据.
使用JavaScript和DOM实现局部刷新.
三、ajax实现方式
这里我们不做原生ajax的介绍,因为JQuery对ajax进行了封装。可以用少量的代码实现原生ajax的功能,同时又帮助我们解决了浏览器的兼容问题,没有道理不选它。
$.ajax是对ajax最基础的封装,来看一个简单例子
$.ajax({
type : "post", //提交方式
url : "${pageContext.request.contextPath}/del.action",//接口url
data : {
"name" : "${name}" //交互数据
},
success : function(result) {//返回数据根据结果进行相应的处理
if ( result.success ) {
alert("删除成功");
} else {
alert("删除失败");
}
}
});
关键参数介绍:
method //数据的提交方式
url //数据的提交url
async //是否支持异步刷新,默认是true
data //需要提交的数据
dataType //服务器返回数据的类型,例如xml,String,Json等
success //请求成功后的回调函数
error //请求失败后的回调函数
四、常用请求类型介绍
multipart/form-data类型主要是上传文件时用到;
application/x-www-form-urlencoded类型主要是提交k-v时用到,当然这种方法也可以将json设置在v中提交json数据;
application/json类型主要是传递json数据用到,层次比较深的数据;
五、常见响应状态码介绍
100:客户必须继续发出请求
101:客户要求服务器根据请求转换HTTP协议版本
200:请求成功
201:提示知道新文件的URL
202:接受和处理、但处理未完成
203:返回信息不确定或不完整
204:请求收到,但返回信息为空
205:服务器完成了请求,用户代理必须复位当前已经浏览过的文件
206:服务器已经完成了部分用户的GET请求
300:请求的资源可在多处得到
301:删除请求数据
302:在其他地址发现了请求数据
303:建议客户访问其他URL或访问方式
304:客户端已经执行了GET,但文件未变化
305:请求的资源必须从服务器指定的地址得到
306:前一版本HTTP中使用的代码,现行版本中不再使用
307:申明请求的资源临时性删除
400:错误请求,如语法错误
401:请求授权失败
402:保留有效ChargeTo头响应
403:请求不允许
404:没有发现文件、查询或URl
405:用户在Request-Line字段定义的方法不允许
406:根据用户发送的Accept拖,请求资源不可访问
407:类似401,用户必须首先在代理服务器上得到授权
408:客户端没有在用户指定的时间内完成请求
409:对当前资源状态,请求不能完成
410:服务器上不再有此资源且无进一步的参考地址
411:服务器拒绝用户定义的Content-Length属性请求
412:一个或多个请求头字段在当前请求中错误
413:请求的资源大于服务器允许的大小
414:请求的资源URL长于服务器允许的长度
415:请求资源不支持请求项目格式
416:请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段
417:服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足请求
500:服务器产生内部错误
501:服务器不支持请求的函数
502:服务器暂时不可用,有时是为了防止发生系统过载
503:服务器过载或暂停维修
504:关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长
505:服务器不支持或拒绝支请求头中指定的HTTP版本
对一些状态码要明白它的含义,可以帮助我们快速定位程序哪里可能出问题了,或者对不同的结果做详细的失败提示。
六、ajax的优点
减轻服务器负担,按需要获得数据。
无刷新更新页面,减少用户的实际和心理的等待时间。
更好的用户体验。
减轻宽带的负担。
七、ajax的缺点
ajax对浏览器的兼容性。
ajax局部刷新,所以浏览器的回退功能失效。
对搜索引擎支持不友好。
ajax极简教程的更多相关文章
- Typora极简教程
Typora极简教程 ” Markdown 是一种轻量级标记语言,创始人是约翰·格鲁伯(John Gruber).它允许人们 “使用易读易写的纯文本格式编写文档,然后转换成有效的 HTML 文档.” ...
- CentOS安装使用.netcore极简教程(免费提供学习服务器)
本文目标是指引从未使用过Linux的.Neter,如何在CentOS7上安装.Net Core环境,以及部署.Net Core应用. 仅针对CentOS,其它Linux系统类似,命令环节稍加调整: 需 ...
- Asky极简教程:零基础1小时学编程,已更新前8节
Asky极简架构 开源Asky极简架构.超轻量级.高并发.水平扩展.微服务架构 <Asky极简教程:零基础1小时学编程>开源教程 零基础入门,从零开始全程演示,如何开发一个大型互联网系统, ...
- Python 极简教程(八)字符串 str
由于字符串过于重要,请认真看完并保证所有代码都至少敲过一遍. 对于字符串,前面在数据类型中已经提到过.但是由于字符串类型太过于常用,Python 中提供了非常多的关于字符串的操作.而我们在实际编码过程 ...
- Nginx 极简教程(快速入门)
作者:dunwu github.com/dunwu/nginx-tutorial 推荐阅读(点击即可跳转阅读) 1. SpringBoot内容聚合 2. 面试题内容聚合 3. 设计模式内容聚合 4. ...
- 【转】Typora极简教程
Typora极简教程 Typora download ” Markdown 是一种轻量级标记语言,创始人是约翰·格鲁伯(John Gruber).它允许人们 “使用易读易写的纯文本格式编写文档,然后转 ...
- nginx极简教程
Nginx 极简教程 本项目是一个 Nginx 极简教程,目的在于帮助新手快速入门 Nginx. examples 目录中的示例模拟了工作中的一些常用实战场景,并且都可以通过脚本一键式启动,让您可以快 ...
- NodeJS 极简教程 <1> NodeJS 特点 & 使用场景
NodeJS 极简教程 <1> NodeJS 特点 & 使用场景 田浩 因为看开了所以才去较劲儿. 1. NodeJS是什么 1.1 Node.js is a JavaScri ...
- 自制 os 极简教程1:写一个操作系统有多难
为什么叫极简教程呢?听我慢慢说 不知道正在阅读本文的你,是否是因为想自己动手写一个操作系统.我觉得可能每个程序员都有个操作系统梦,或许是想亲自动手写出来一个,或许是想彻底吃透操作系统的知识.不论是为了 ...
随机推荐
- cogs 1330 [HNOI2008]玩具装箱toy
cogs 1330 [HNOI2008]玩具装箱toy 瞎扯,急忙AC的请跳过 感觉数据结构写的太多了有点晕=+ 发现还没学斜率优化+- 于是来学一学QwQ 上次这题打了个决策优化直接水过了..理论O ...
- Vue2.0原理-模板解析
下面这段代码,vue内部做了什么操作?我去源码里面找找看 new Vue({ el: '#app' }) 入口 vue 的入口文件在 src/core/instance/index.js, 里面一进来 ...
- 通过XML文件实现人物之间的对话
一.建立一个XML文档,放在项目中Assert/Resources/XML文件下 XML的内容如下: <?xml version="1.0" encoding="u ...
- NO--13微信小程序,左右联动
写在前面: 从2016年张小龙发布微信小程序这种新的形态,到2017年小程序的不温不火,再到今年小程序的大爆发,从一度刷爆朋友圈的‘头脑王者’,再到春节聚会坐在一起的火爆小游戏“跳一跳",都 ...
- 有序链表转换二叉搜索树(LeetCode)
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1. 示例: 给定有序数组: [-10,-3,0, ...
- Netty源码分析第7章(编码器和写数据)---->第4节: 刷新buffer队列
Netty源码分析第七章: 编码器和写数据 第四节: 刷新buffer队列 上一小节学习了writeAndFlush的write方法, 这一小节我们剖析flush方法 通过前面的学习我们知道, flu ...
- Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)---->第4节: recycler中获取对象
Netty源码分析第八章: 高性能工具类FastThreadLocal和Recycler 第四节: recycler中获取对象 这一小节剖析如何从对象回收站中获取对象: 我们回顾上一小节demo的ma ...
- CentOS7安装VMware Tools
安装依赖包 [root@localhost ~]# yum -y install perl gcc gcc-c++ make cmake kernel kernel-headers kernel-de ...
- CS224n学习笔记1——深度自然语言处理
一.什么是自然语言处理呢? 自然语言处理是计算机科学家提出的名字,本质上与计算机语言学是同义的,它跨越了计算机学.语言学以及人工智能学科. 自然语言处理是人工智能的一个分支,在计算机研究领域中,也有其 ...
- mongodb基本使用(四)
MongoDB 条件操作符 描述 条件操作符用于比较两个表达式并从mongoDB集合中获取数据. MongoDB中条件操作符有: (>) 大于 - $gt (<) 小于 - $lt (&g ...