Ajax开发解读 ajax应用开发典型实例
qiyuwang 2024-10-21 09:39 10 浏览 0 评论
Ajax
1.介绍:Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。
Ajax = 异步 JavaScript 和 XML 或者是 HTML(标准通用标记语言的子集)。
Ajax 是一种用于创建快速动态网页的技术;是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术;通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
2. Ajax的优缺点
优点:1)能在不更新整个页面的前提下维护数据
2)异步与服务器通信上执行
3)前端和后端负载平衡
4)基于标准被广泛支持
5)界面与应用分离
缺点:1)它可能破坏浏览器的后退与加入收藏书签功能
2)对搜索引擎支持较弱
3)破坏程序的异常处理机制
4)违背URL和资源定位的初衷
5)AJAX不能很好支持移动设备
6)客户端过肥,太多客户端代码造成开发上的成本
3. Ajax请求
方法 描述
$.ajax(url,[settings]) 通过 HTTP 请求加载远程数据
load(url, [data], [callback])载入远程 HTML 文件代码并插入至 DOM 中
$.get(url,[data],[fn],[type])通过远程 HTTP GET 请求载入信息
$.getJSON(url,[data],[fn])通过 HTTP GET 请求载入 JSON 数据
$.getScript(url,[callback])通过 HTTP GET 请求载入并执行一个 JavaScript 文件
$.post(url,[data],[fn],[type])通过远程 HTTP POST 请求载入信息
注意:
1. $.ajax(url,[settings]) :所有的选项都可以通过$.ajaxSetup()函数来全局设置。
url:一个用来包含发送请求的URL字符串。
settings:AJAX 请求设置。所有选项都是可选的。
2.load(url, [data], [callback])
url:待装入 HTML 网页网址。
data:发送至服务器的 key/value 数据。
callback:载入成功时回调函数。
3.get(url, [data], [callback], [type])
url:待载入页面的URL地址。
data:待发送 Key/value 参数。
callback:载入成功时回调函数。
type:返回内容格式,xml, html, script, json, text, _default。
4.事件
事件 描述
ajaxComplete(callback)AJAX 请求完成时执行函数
ajaxError(callback) AJAX 请求发生错误时执行函数
ajaxSend(callback) AJAX 请求发送前执行函数
ajaxStart(callback) AJAX 请求开始时执行函数
ajaxStop(callback) AJAX 请求结束时执行函数
ajaxSuccess(callback) AJAX 请求成功时执行函数
5.发送Ajax请求的五个步骤
第一步:获取一个XMLHttpRequest对象
var ajax = new XMLHttpRequest();
第二步:规定请求的类型、URL 以及是否异步处理请求。
ajax.open('GET',url,true);
第三步:发送信息至服务器时内容编码类型
ajax.setRequestHeader("Content-type", " ");
第四步:发送请求
ajax.send(null);
send向服务器发送请求
如果请求方式是get,那么我们使用send(null) 原因:get请求方式是没有http请求体
只有post请求方式时,才有请求体,所以send的参数只是在post请求时使用
第五步:接受服务器响应数据
ajax.onreadystatechange = function () {
if (obj.readyState == 4 && (obj.status == 200 || obj.status == 304)) {
}
};
注释:
new XMLHttpRequest() :生成一个对象
open:初始化一个请求。
1、请求类型:get、post
2、请求地址:/hello.json(必须是http或者https开头)
3、请求方式: true:为异步方式。false:为同步方式
send:发送
status: HTTP响应状态代码
responseText:响应文本(内容)
readySteat : 交互流程(1,2,3,4)
0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了
第六步:json字符串转换集json对象、json对象转换json字符串
//字符串转对象
JSON.parse(json)
eval('(' + jsonstr + ')')
// 对象转字符串
JSON.stringify(json)
常见的状态码有哪些?
200(成功) 服务器已成功处理了请求
304(未修改) 自从上次请求后 请求的网页未修改过。服务器返回此响应时 不会返回网页内容
400 (错误请求)服务器不理解请求的语法
403(禁止) 服务器拒绝请求
404(未找到) 服务器找不到请求的网页
500 (服务器内部错误) 服务器遇到错误,无法完成请求。
501 (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。
502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。
503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
504 (网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
505 (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。
8.ajax接受到的数据类型为String、JSON对象、JSON串。
9. 页面不进行跳转刷新的时候,异步处理数据的时候,表单自动补全功能可以使用Ajax;提交后不再使用原页面,可以进行跳转刷新的,查询之类的功能,可以不用Ajax。
————————————————
版权声明:本文为CSDN博主「暮雪亦成诗」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Lucky_BonnenuIt/article/details/101550135
相关推荐
- 基于Docker方式安装与部署Camunda流程引擎
-
1Camunda简介官网:https://docs.camunda.org/manual/7.19/installation/docker/Camunda是一个轻量级、开源且高度灵活的工作流和决策自...
- 宝塔Linux面板如何部署Java项目?(宝塔面板 linux)
-
通过宝塔面板部署Java还是很方便的,至少不需要自己输入tomcat之类的安装命令了。在部署java项目前,我还是先说下目前的系统环境,如果和我的系统环境不一样,导致部署不成功,那你可能需要去找其他资...
- 浪潮服务器如何用IPMI安装Linux系统
-
【注意事项】此处以浪潮服务器为例进行演示所需使用的软件:Chrome浏览器个人PC中需要预先安装java,推荐使用jdk-8u181-windows-x64.exe【操作步骤】1、在服务器的BIOS中...
- Centos7环境Hadoop3集群搭建(hadoop集群环境搭建实验报告)
-
由于项目需要存储历史业务数据,经过评估数据量会达到100亿以上,在原有mongodb集群和ES集群基础上,需要搭建Hbase集群进行调研,所以首先总结一下Hadoop集群的搭建过程。一、三个节点的集群...
- Hadoop高可用集群搭建及API调用(hadoop高可用原理)
-
NameNodeHA背景在Hadoop1中NameNode存在一个单点故障问题,如果NameNode所在的机器发生故障,整个集群就将不可用(Hadoop1中虽然有个SecorndaryNameNo...
- 使用Wordpress搭建一个属于自己的网站
-
现在开源的博客很多,但是考虑到wordpress对网站的seo做的很好,插件也多。并且全世界流量排名前1000万的网站有33.4%是用Wordpress搭建的!所以尝试用Wordpress搭建一个网站...
- Centos 安装 Jenkins(centos 安装ssh)
-
1、Java安装查看系统是否已安装Javayumlistinstalled|grepjava...
- Java教程:gitlab-使用入门(java中的git)
-
1导读本教程主要讲解了GitLab在项目的环境搭建和基本的使用,可以帮助大家在企业中能够自主搭建GitLab服务,并且可以GitLab中的组、权限、项目自主操作...
- Dockerfile部署Java项目(docker部署java应用)
-
1、概述本文主要会简单介绍什么是Docker,什么是Dockerfile,如何安装Docker,Dockerfile如何编写,如何通过Dockerfile安装jar包并外置yaml文件以及如何通过do...
- 如何在Eclipse中搭建Zabbix源码的调试和开发环境
-
Zabbix是一款非常优秀的企业级软件,被设计用于对数万台服务器、虚拟机和网络设备的数百万个监控项进行实时监控。Zabbix是开放源码和免费的,这就意味着当出现bug时,我们可以很方便地通过调试源码来...
- Java路径-02-Java环境配置(java环境搭建及配置教程)
-
1Window环境配置1.1下载...
- 35.Centos中安装python和web.py框架
-
文章目录前言1.Centos7python:2.Centos8python:3.进行下载web.py框架然后应用:4.安装好之后进行验证:5.总结:前言...
- 《我的世界》服务器搭建(我的世界服务器如何搭建)
-
1.CentOS7环境1.1更改YUM源#下载YUM源文件curl-o/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com...
- CentOS 7 升级 GCC 版本(centos7.4升级7.5)
-
1.GCC工具介绍GCC编译器:...
- Linux安装Nginx详细教程(linux安装配置nginx)
-
环境准备1.因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。命令:yuminstallgcc-c++显示完毕,表示安装完成:2.Nginx的http模块需要...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 基于Docker方式安装与部署Camunda流程引擎
- 宝塔Linux面板如何部署Java项目?(宝塔面板 linux)
- 浪潮服务器如何用IPMI安装Linux系统
- Centos7环境Hadoop3集群搭建(hadoop集群环境搭建实验报告)
- Hadoop高可用集群搭建及API调用(hadoop高可用原理)
- 使用Wordpress搭建一个属于自己的网站
- Centos 安装 Jenkins(centos 安装ssh)
- Java教程:gitlab-使用入门(java中的git)
- Dockerfile部署Java项目(docker部署java应用)
- 如何在Eclipse中搭建Zabbix源码的调试和开发环境
- 标签列表
-
- navicat无法连接mysql服务器 (65)
- 下横线怎么打 (71)
- flash插件怎么安装 (60)
- lol体验服怎么进 (66)
- ae插件怎么安装 (62)
- yum卸载 (75)
- .key文件 (63)
- cad一打开就致命错误是怎么回事 (61)
- rpm文件怎么安装 (66)
- linux取消挂载 (81)
- ie代理配置错误 (61)
- ajax error (67)
- centos7 重启网络 (67)
- centos6下载 (58)
- mysql 外网访问权限 (69)
- centos查看内核版本 (61)
- ps错误16 (66)
- nodejs读取json文件 (64)
- centos7 1810 (59)
- 加载com加载项时运行错误 (67)
- php打乱数组顺序 (68)
- cad安装失败怎么解决 (58)
- 因文件头错误而不能打开怎么解决 (68)
- js判断字符串为空 (62)
- centos查看端口 (64)