AJAX技术点

async javascript and xml:异步的js和xml,用js异步去操作xml

ajax用于数据交互,不能操作DOM

–节省用户操作,时间,提高用户体验,减少数据请求
–传输获取数据
使用场景:局部刷新页面,手机验证码验证发送ajax请求
 
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>无标题文档</title>
  6. <!--<script src="jquery.js"></script>-->
  7. <script>
  8. //$(function(){}) //阻塞 -> 同步
  9.  
  10. //非阻塞 - 异步
  11. /*setTimeout(function() {
  12. alert(1);
  13. }, 2000);
  14.  
  15. alert(2);*/
  16.  
  17. window.onload = function() {
  18.  
  19. var oBtn = document.getElementById('btn');
  20.  
  21. oBtn.onclick = function() {
  22.  
  23. //打开浏览器
  24. /*
  25. 1.创建一个ajax对象
  26. ie6以下new ActiveXObject('Microsoft.XMLHTTP')
  27. */
  28. var xhr = null;
  29. /*if (window.XMLHttpRequest) {
  30. xhr = new XMLHttpRequest();
  31. } else {
  32. xhr = new ActiveXObject('Microsoft.XMLHTTP');
  33. }*/
  34. try {
  35. xhr = new XMLHttpRequest();
  36. } catch (e) {
  37. xhr = new ActiveXObject('Microsoft.XMLHTTP');
  38. }
  39.  
  40. //alert( xhr.readyState );
  41. //在地址栏输入地址
  42. /*
  43. open方法
  44. 参数
  45. 1.打开方式
  46. 2.地址
  47. 3.是否异步
  48. 异步:非阻塞 前面的代码不会影响后面代码的执行
  49. 同步:阻塞 前面的代码会影响后面代码的执行
  50. */
  51. xhr.open('get','1.txt',true);
  52. //提交 发送请求
  53. //alert(1);
  54. xhr.send();
  55. //alert( xhr.readyState );
  56.  
  57. //alert(1)
  58.  
  59. //alert( xhr.responseText );
  60.  
  61. //等待服务器返回内容
  62. /*
  63. readyState : ajax工作状态
  64. responseText : ajax请求返回的内容就被存放到这个属性下面
  65. on readystate change : 当readyState改变的时候触发
  66. status : 服务器状态,http状态码
  67. */
  68. xhr.onreadystatechange = function() {
  69.  
  70. if ( xhr.readyState == ) {
  71. if ( xhr.status == ) {
  72. alert( xhr.responseText );
  73. } else {
  74. alert('出错了,Err:' + xhr.status);
  75. }
  76. }
  77.  
  78. }
  79.  
  80. }
  81. }
  82. </script>
  83. </head>
  84.  
  85. <body>
  86. <input type="button" value="按钮" id="btn" />
  87. </body>
  88. </html>
 

表单参数

  1. <body>
  2. 表单:数据的提交
  3. action : 数据提交的地址,默认是当前页面
  4. method : 数据提交的方式,默认是get方式
  5. .get
  6. 把数据名称和数据值用=连接,如果有多个的话,那么他会把多个数据组合用&进行连接,然后把数据放到url?后面传到指定页面
  7. .post
  8. enctype : 提交的数据格式,默认application/x-www-form-urlencoded
  9. <form action="1.get.php" enctype="application/x-www-form-urlencoded">
  10. <input type="text" name="username" />
  11. <input type="text" name="age" />
  12. <input type="submit" value="提交" />
  13. </form>
  14. </body>

get与post请求,get方式可能有缓存,post提交是没有缓存

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>无标题文档</title>
  6. <!--<script src="jquery.js"></script>-->
  7. <script>
  8. //$(function(){}) //阻塞 -> 同步
  9.  
  10. //非阻塞 - 异步
  11. /*setTimeout(function() {
  12. alert(1);
  13. }, 2000);
  14.  
  15. alert(2);*/
  16.  
  17. window.onload = function() {
  18.  
  19. var oBtn = document.getElementById('btn');
  20.  
  21. oBtn.onclick = function() {
  22.  
  23. var xhr = null;
  24. try {
  25. xhr = new XMLHttpRequest();
  26. } catch (e) {
  27. xhr = new ActiveXObject('Microsoft.XMLHTTP');
  28. }
  29. /*
  30. 1.缓存 在url?后面连接一个随机数,时间戳
  31. 2.乱码 编码encodeURI
  32. */
  33. xhr.open('get','2.get.php?username='+encodeURI('刘伟')+'&age=30&' + new Date().getTime(),true);
  34. xhr.send();
  35.  
  36. xhr.onreadystatechange = function() {
  37.  
  38. if ( xhr.readyState == ) {
  39. if ( xhr.status == ) {
  40. alert( xhr.responseText );
  41. } else {
  42. alert('出错了,Err:' + xhr.status);
  43. }
  44. }
  45.  
  46. }
  47.  
  48. }
  49. }
  50. </script>
  51. </head>
  52.  
  53. <body>
  54. <input type="button" value="按钮" id="btn" />
  55. </body>
  56. </html>
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>无标题文档</title>
  6. <!--<script src="jquery.js"></script>-->
  7. <script>
  8. //$(function(){}) //阻塞 -> 同步
  9.  
  10. //非阻塞 - 异步
  11. /*setTimeout(function() {
  12. alert(1);
  13. }, 2000);
  14.  
  15. alert(2);*/
  16.  
  17. window.onload = function() {
  18.  
  19. var oBtn = document.getElementById('btn');
  20.  
  21. oBtn.onclick = function() {
  22.  
  23. var xhr = null;
  24. try {
  25. xhr = new XMLHttpRequest();
  26. } catch (e) {
  27. xhr = new ActiveXObject('Microsoft.XMLHTTP');
  28. }
  29.  
  30. xhr.open('post','2.post.php',true);
  31. //post方式,数据放在send()里面作为参数传递
  32. xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');//申明发送的数据类型
  33. //post没有缓存问题
  34. //无需编码
  35. xhr.send('username=刘伟&age=30');
  36.  
  37. xhr.onreadystatechange = function() {
  38.  
  39. if ( xhr.readyState == ) {
  40. if ( xhr.status == ) {
  41. alert( xhr.responseText );
  42. } else {
  43. alert('出错了,Err:' + xhr.status);
  44. }
  45. }
  46.  
  47. }
  48.  
  49. }
  50. }
  51. </script>
  52. </head>
  53.  
  54. <body>
  55. <input type="button" value="按钮" id="btn" />
  56. </body>
  57. </html>

前端相关技术之ajax相关的更多相关文章

  1. 前端框架之bootstrap及相关技术网站

    1.web框架之bootstrap bootstrap来源Twitter,是一个CSS/HTML框架,它是基于HTML,CSS,JavaScript下的,使用简洁,当中提供了很多HTML和CSS 如用 ...

  2. 关于Web开发里并发、同步、异步以及事件驱动编程的相关技术

    一.开篇语 我的上篇文章<关于如何提供Web服务端并发效率的异步编程技术>又成为了博客园里“编辑推荐”的文章,这是对我写博客很大的鼓励,也许是被推荐的原因很多童鞋在这篇文章里发表了评论,有 ...

  3. MVC中Controller控制器相关技术

    第6章Controller相关技术 Controller(控制器)在ASP.NET MVC中负责控制所有客户端与服务器端的交互,并 且负责协调Model与View之间的数椐传递,是ASP.NET MV ...

  4. Asp.Net WebAPI及相关技术介绍(含PPT下载)

    此PPT讲述了Asp.Net WebAPI及相关Web服务技术发展历史. 共80多页,Asp.Net WebAPI在讲到第36页的时候才会出现,因为这个技术不是凭空产生的,它有着自己的演变进化的历史. ...

  5. AJAX相关总结

    AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 J ...

  6. SAAS相关技术要点

    这篇文章本来是我们开发组内部用的一个小文档.因为我们公司以前没有做SAAS的经验,就成立了一个小组做一做这方面的技术前探,我是成员之一.这篇文档想从宏观的层面把开发一个SAAS应用所要用到的技术点稍微 ...

  7. SSE及相关技术(web sockets, long polling等)

    server-sent events--One Way Messaging 允许网页获得来自服务器的更新,并且自动更新 Server-Sent Events: allow a web page to ...

  8. 2017值得一瞥的JavaScript相关技术趋势

    2017值得一瞥的JavaScript相关技术趋势从属于笔者的Web 前端入门与工程实践,推荐阅读2016-我的前端之路:工具化与工程化获得更多关于2016年前端总结.本文主要内容翻译自,笔者对于每个 ...

  9. selenium相关技术研究(从1.0-3.0)

    注: 以下内容引自http://www.cnblogs.com/hhudaqiang/p/6550135.html Selenium相关技术研究(从1.0-3.0) 好吧,最近看wxpython有点多 ...

随机推荐

  1. java实现excel与mysql的导入导出

    注意:编码前先导入poi相关jar包 1 /** * 读excel 到list * * @param file excel file * @param fields 字段数组 * @return * ...

  2. poj3304Segments(直线与多条线段相交)

    链接 枚举两点(端点),循环遍历与直线相交的线段. #include <iostream> #include<cstdio> #include<cstring> # ...

  3. 关于php的一些小知识

    浏览目录: 一.PHP的背景和优势: 二.PHP原理简介: 三.PHP运行环境配置: 四.编写简单的PHP代码以及测试. 一.PHP的背景和优势 1.1   什么是PHP? PHP是能让你生成动态网页 ...

  4. JavaScript变量——栈内存or堆内存

    原文  http://blog.csdn.net/xdd19910505/article/details/41900693 堆和栈这两个字我们已经接触多很多次,那么具体是什么存在栈中什么存在堆中呢?就 ...

  5. Java开发中的一些小技巧

    原文:http://www.cnblogs.com/xdp-gacl/p/3490276.html 一. Java获取URL地址中传递的参数 /** * 获取URL中的参数名和参数值的Map集合 * ...

  6. EL 表达式

    转载自 :http://blog.csdn.net/qwerasdf123/article/details/4189889 EL表达式      1.EL简介 1)语法结构        ${expr ...

  7. 转!论if else与switch的效率高低问题

    转 下面来详细描述switch与ifelse的区别. switch...case与if...else的根本区别在于,switch...case会生成一个跳转表来指示实际的case分支的地址,而这个跳转 ...

  8. Unity shader(CG) 写一个 散色、折射、反射、菲涅尔、gamma、简单后期屏幕特效

    http://www.lai18.com/content/506918.html 1.自生要求是很重要的,当然不是什么强迫工作之类的,而是自己有限的能力上不断的扩展兴趣上的内容. 2.用生活的眼光去发 ...

  9. 5.4.1 Selenium2启动空浏览器

    在Web自动化测试中,必须考虑不同浏览器对网站的兼容性测试,所以我们首先介绍如何用webDriver代码打开不同的浏览器. 本节介绍的是在Selenium2启动浏览器时,启动一个干净的没有任务插件及c ...

  10. 《Java程序设计》第四周学习总结

    20145224-陈颢文 <Java程序设计>第四周学习总结 教材学习内容总结 第六章 继承与多态 ·继承就是面向对象中,子类继承父类,避免重复的行为定义.重复再程序设计上是非常不好的信号 ...