什么是Ajax

Ajax基本概念
Ajax(Asynchronous JavaScript and XML):翻译成中文就是异步的JavaScript和XML。
从功能上来看是一种在无需重新加载整个网页的情况下能够更新部分网页的技术。
传统的网页
想要更新内容或者提交表单就要重新加载或刷新页面。
使用ajax技术的网页
通过后台服务器进行少量的数据交换,网页就可以实现异步局部跟新。
Ajax出现前
Ajax技术出现之前,是一个同步交互的世界。
同步:客户端发出请求,服务端去处理,然后响应,这一段时间客户端是处在等待的状态,当服务端处理响应完成之后呢,客户端重新加载页面,如果中间信息错误那么客户端就会再次发起请求在此等待。
Ajax出现之后
Ajax出现之后世界变了 变成了异步的世界。
那我们为什么之前不使用异步呢,是因为之前少了一个对象XMLHttpRequest对象,在这个对象出现之前网页开发都是采用同步的方式,出现之后呢发现可以进行了异步的操作,这个对象是用于后台和服器之间进行数据交换,而且这个数据的交换不会重新加载整个页面,这种情况下呢实现了在不刷新页面的情况下对局部数据的更新,有了这个对象之后呢才有了Ajax的异步加载局部刷新。
Ajax的异步加载局部刷新功能的实现
1.首先第一个问题就是XHR这个对象怎么使用
1)先实例化一个XMLHttpRequest
var request = new XMLHttpRquest();
注意:现在大部分的浏览器都支持XMLHttpRequest对象和new这种方式,但是呢在IE6及以下版本的时代中呢XHR还只是ActiveXObject
解决方法:
Var request;
If(window.XMLHttpRequest){
Reuest = new XMLHttpRequest();
}else{
Request = new ActiveXObject(“Microsoft.XMLHTTP”);
}
2)请求:
在这之前我们来看一下什么事HTTP请求
是一种计算机通过网络进行通讯的规则。
是一种无状态协议,不保留连接的相关信息,
客户端向服务器发出请求,服务器响应,之后呢连接就被关闭
一个完整的HTTP请求有七个步骤
A.建立TCP连接
B.客户端向服务器发送请求的命令
C.浏览器发送请求头信息
D.服务器给出响应
E.服务器发送应答头信息
F.服务器向浏览器发送数据
G.服务器关闭TCP连接
分开来看:HTTP请求分为四个部分
HTTP请求的方法和动作(get,pos)
正在请求的URL(请求地址)
请求头(包含客户端环境信息,身份验证信息等)
请求体,请求正文。
Get请求:一般用于信息获取(http默认求求方式)
Url传参属性和值都是可见的,对所发内容大小有限制 一般在2000个字符
get请求安全的说法是因为你请求一次和请求一万次效果是一样的不会对数据造成影响。
Post请求:一般用于服务器数据修改
对所发信息没有大小限制
HTTP响应有三部分
1)一个数字和文字组成的状态吗,用来显示请求是成功还是失败
2)响应头,和请求头信息一样包含很多信息,例如服务器类型,日期时间,内容类型和长度等
3)响应体,响应正文
HTTP响应状态吗由三位数字组成,首位数字定义了状态码的类型:
1xx:信息类,表示接收到浏览器请求,正在进一步处理
2xx:成功表示用户请求被正确接受
3xx:重定向,表示没有请求成功,客户必须采取进一步的动作
4xx:客户端错误,表示客户端请求有错误404NOTFound意味着请求中所引用的文档不存在
5xx:服务器错误,表示服务器不能完成对请求的处理
通过XMLHttpRequest发送请求
1.创建
var request = new XMLHttpRquest();
2.发送请求
两个方法:
open(method,url,async),Send(string)这两种方法可以将请求发送到服务器
Request.open(get,get.php,true) Request.Send() Request.open(post,post.PHP,true) Request.Send() Request.open(post,post.php,true) Request.setRequestHeader(‘Content-Type','application/x-www-form-urlencoded') Request.send(“name=王二狗&sex=男”);
send()中的内容是要向后台传递的参数,在get请求是通过url传递参数,所以get中send()里面的内容可以省略,post方式中不能省略,省略了之后就是无意义的请求了
setRequestHeader是用来设置请求参数的类型,form
3.获取响应
responseText:获取字符串形式的响应式数据
responseXML:
Status和statusText:以数字和文本形式返回HTTP状态吗
getAllResponseHeader():获取所有的响应报头
getResponseHeader():查询相应中的某个字段的值
在响应返回成功时得到的通知,在实际操作中要监听
readyState属性的变化,他的变化代表着服务器相应的变化
0:表示服务器请求未初始化,open还没有被调用
1:服务器连接已经建立,open已经被调用
2:请求已经被接受,接收到头部信息
3:处理中,接收到相应主体
4:请求完成,并且响应完成
Var request=new XMLHttpRequest();
Request.open(get,url,true)
Request.send();
request.onreadyState=function(){
If(request.readeyState===4&&request.Status===200){
做一些事情 request.responseText
}
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# jQuery
# Ajax
# 详解Tomcat如何实现Comet
# JavaScript数据推送Comet技术详解
# 使用Java实现类似Comet风格的web app
# 页面间隔半秒钟更新时间 Asp.net使用Comet开发http长连接示例分享
# BitComet 0.89 去广告简洁优化版 下载
# jquery实现ajax提交form表单的方法总结
# jquery ajax例子返回值详解
# 基于JQuery框架的AJAX实例代码
# 完美解决AJAX跨域问题
# Ajax和Comet技术总结
# 客户端
# 加载
# 是一种
# 都是
# 是因为
# 情况下
# 服务端
# 数据交换
# 是一个
# 就会
# 还没有
# 在这个
# 第一个
# 在这
# 在此
# 少了
# 不存在
# 相关信息
# 发送到
# 首位
相关文章:
建站之星ASP如何实现CMS高效搭建与安全管理?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
如何将凡科建站内容保存为本地文件?
相册网站制作软件,图片上的网址怎么复制?
如何挑选高效建站主机与优质域名?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
建站之星伪静态规则如何设置?
如何快速配置高效服务器建站软件?
如何构建满足综合性能需求的优质建站方案?
建站之星2.7模板快速切换与批量管理功能操作指南
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
建站主机SSH密钥生成步骤及常见问题解答?
定制建站价位费用解析与套餐推荐全攻略
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
如何访问已购建站主机并解决登录问题?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
javascript基本数据类型及类型检测常用方法小结
如何在云主机上快速搭建网站?
开心动漫网站制作软件下载,十分开心动画为何停播?
公司网站制作价格怎么算,公司办个官网需要多少钱?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
如何快速搭建高效WAP手机网站?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
nginx修改上传文件大小限制的方法
建站主机空间推荐 高性价比配置与快速部署方案解析
建站之星如何优化SEO以实现高效排名?
个人摄影网站制作流程,摄影爱好者都去什么网站?
用v-html解决Vue.js渲染中html标签不被解析的问题
javascript中的try catch异常捕获机制用法分析
太原网站制作公司有哪些,网约车营运证查询官网?
微课制作网站有哪些,微课网怎么进?
再谈Python中的字符串与字符编码(推荐)
内部网站制作流程,如何建立公司内部网站?
代购小票制作网站有哪些,购物小票的简要说明?
如何在IIS中新建站点并配置端口与物理路径?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
专业商城网站制作公司有哪些,pi商城官网是哪个?
如何通过智能用户系统一键生成高效建站方案?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
如何用PHP快速搭建CMS系统?
如何在香港服务器上快速搭建免备案网站?
定制建站策划方案_专业建站与网站建设方案一站式指南
如何快速搭建安全的FTP站点?
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
广州商城建站系统开发成本与周期如何控制?
建设网站制作价格,怎样建立自己的公司网站?
济南专业网站制作公司,济南信息工程学校怎么样?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
*请认真填写需求信息,我们会在24小时内与您取得联系。