Ajax 全称为:“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML)
它并不是 JavaScript 的一种单一技术,而是利用了一系列交互式网页应用相关的技术所形成的结合体
使用Ajax,我们可以无刷新状态更新页面,并且实现异步提交,提升了用户体验。
 
Ajax 这个概念是由 JesseJamesGarrett 在 2005 年发明的。它本身不是单一技术,是一串技术的集合,主要有:
 
    1.JavaScript,通过用户或其他与浏览器相关事件捕获交互行为
 
    2.XMLHttpRequest 对象,通过这个对象可以在不中断其它浏览器任务的情况下向服务器发送请求;
 
    3.服务器上的文件,以 XML、HTML 或 JSON 格式保存文本数据;
 
    4.其它 JavaScript,解释来自服务器的数据(比如 PHP 从 MySQL 获取的数据)并将其呈现到页面上。
 

 
由于 Ajax 包含众多特性,优势与不足也非常明显。优势主要以下几点:
    1.不需要插件支持(一般浏览器且默认开启 JavaScript 即可);
    2.用户体验极佳(不刷新页面即可获取可更新的数据);
    3.提升 Web 程序的性能(在传递数据方面做到按需发送,不必整体提交);
    4.减轻服务器和带宽的负担(将服务器的一些操作转移到客户端);
 
而 Ajax 的不足由以下几点:
    1.不同版本的浏览器对 XMLHttpRequest 对象支持度不足(比如 IE5 之前);
    2.前进、后退的功能被破坏(因为 Ajax 永远在当前页,不会记录前后页面);
    3.搜索引擎的支持度不够(因为搜索引擎爬虫还不能理解 JS 引起变化数据的内容);

ajax的使用:
 
  1.创建请求对象;
var AJAX=new XMLHttpRequest( );
 
  2.设置请求参数;  
 AJAX.open('get','data/test.json',true);
    第一个参数:POST || GET
    POST和GET的区别:
    1.POST主要用来发送数据,GET主要用来接受数据;
    2.PSOT发送数据的安全性较好,而GET较差;
    3.POST发送数据不限制大小,而GET大小受限2~100k。
    什么时候用GET和POST:在数据获取时用GET方式,在操作数据时应使用POST方式。
 
    第二个参数:要请求的url
 
    第三个参数:接受一个布尔值,决定请求的方式
    为true时,服务器请求是异步进行的,也就是脚本执行send() 方法后不等待服务器的执行结果,而是继续执行脚本代码;
    为false时,服务器请求是同步进行的,也就是脚本执行send() 方法后等待服务器的执行结果的返回,若在等待过程中超时,则不再等待,继续执行后面的脚本代码!
    
    
  3.观察状态(是否接通)
ajax.onreadystatechange = function(){
if (ajax.readyState == 4 && ajax.status == 200){
func_succ(ajax.responseText);
}else if(ajax.readyState == 4 && ajax.status != 200){
//alert("ajax faild readyState:"+ajax.readyState+" status:"+ajax.status);
}
};
 
  4.发送 
ajax.send(null);
 

最新文章

  1. 百度API ; 很多有用的接口及公用 数据
  2. IE兼容问题,各类css hack代码(亲测有效)
  3. jQuery method and examples
  4. vs签入签出--TFS进行源代码管理
  5. 在css嵌套中的html的table里的字左右不对齐
  6. Point Grey FlyCapture 实例汇总
  7. Java for LeetCode 140 Word Break II
  8. js的执行顺序
  9. STM32F0xx_DAC输出电压配置详细过程
  10. php排序测试
  11. Application+Handle+Task
  12. Angular基础教程:表达式日期格式化[转]
  13. 七夕节(hd1215)干嘛今天做这题T_T
  14. boost操作xml 5分钟官方教程
  15. LayoutParams 命名的时候,最好用与子控件相关的字符串命名,
  16. Xcode崩溃问题调试 signal SIGABRT&EXC_BAD_ACCESS
  17. VBS基本语法
  18. python操作mongodb
  19. SpringDay01
  20. h5中不能用js来直接获取网络码和机器码的。

热门文章

  1. Vue问题
  2. 目标检测复习之Loss Functions 总结
  3. CF1681F Unique Occurrences
  4. 优秀开源平台,前后端分离快速开发平台,一站式多端开发(PC+APP)
  5. 如何把你的 Android 使用得像 Linux
  6. 技术分享 | 一步一步学测试平台开发-Vue restful请求
  7. Node.js精进(2)——异步编程
  8. 你真的了解git的分支管理跟其他概念吗?
  9. UiPath文本操作Get OCR Text的介绍和使用
  10. 扩展新的WCV到标准的WC后,不能在业务角色里面看见视图解决方法