ajax笔记
ajax允许浏览器与服务器通信,不用刷新整个页面便可以与服务器通信,实现异步刷新。
ajax是一门与语言无关的技术,在业务逻辑层使用何种服务器端语言都可以。
ajax的优点
-
1、最大的一点是页面无刷新,用户的体验非常好。
-
2、使用异步方式与服务器通信,具有更加迅速的响应能力。
-
3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。
-
4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。
ajax的缺点
-
1、ajax不支持浏览器back按钮。
-
2、安全问题 AJAX暴露了与服务器交互的细节。
-
3、对搜索引擎的支持比较弱。
-
4、破坏了程序的异常机制。
-
5、不容易调试。
利用XMLHttpRequest实例与服务器进行通信的过程:
创建一个XMLHttpRequest对象——>准备发送请求的数据:url——>调用XMLHttpRequest对象的open方法——>调用XMLHttpRequest对象的send方法——>为XMLHttpRequest对象添加onreadystatechange响应函数——>判断响应是否完成:XMLHttpRequest对象的readyState属性为4的时候(readyState有五个可取值:0=未初始化,1=正在加载,2=已经加载,3=交互中,4=完成)——>在判断响应是否可用:XMLHttpRequest对象status属性值为200——>XMLHttpRequest对象的responseText属性即为服务器返回的数据。
服务器端的编程语言只能以(xml、json,html)3种格式返回数据:
html格式:可以直接插入页面中
优点:1、从服务器端发送的HTML代码在浏览器端不需要用JavaScript进行解析
2、HTML的可读性好
3、HTML代码块与innerHTML属性搭配,效率高。
缺点:1、若需要通过ajax更新一篇文档的多个部分,HTML不合适
2、innerHTML并非DOM标准
xml格式:
优点:1、XML是一种通用的数据格式。
2、不必把数据强加到已定义好的格式中,而是要为数据自定义合适的标记。
3、利用DOM可以完全掌控文档。
缺点:1、如果文档来自于服务器,就必须得保证文档含有正确的首部信息。若文档类型不正确,那么responseXML的值将是空的。
2、当浏览器接收到长的XML文件后,DOM解析可能复杂
json格式:
优点:1、作为一种数据传输格式,JSON与XML很相似,但是它更加灵巧。
2、JSON不需要从服务器端发送含有特定内容类型的首部信息。
缺点:1、语法过于严谨
2、代码不易读
3、eval函数存在风险
若应用程序不需要与其他应用程序共享数据的时候,使用HTML片段来返回数据是最简单的。
如果数据需要重用,JSON文件是个不错的选择,其在性能和文件大小方面有优势。
当远程应用程序未知时,XML文档是首选,因为XML是web服务领域的“世界语”。