笔记-Ajax[1]-的整体流程。

Ajax:异步的javascript and xml;(本文内容有部分是来自于js教程网)

Ajax的功能:AJAX 可以与服务器交换数据,在不重新加载(刷新)整个页面的情况下,更新部分页面。

Ajax的使用场景如:

  -用户注册时,输入完用户名立即提交到后台验证,检测用户名是否存。
  -静态页面实现登录功能。
  -瀑布流的实现。

AJAX XMLHttpRequest对象:

  XMLHttpRequest 对象用于在后台与服务器交换数据,能够在不重新加载整个网页(刷新)的情况下,对网页进行部分更新。

  XMLHttpRequest 对象是 AJAX 的基础,讲 AJAX ,大部分是在讲 XMLHttpRequest 对象。

  所有现代浏览器(IE 7.0+、Chrome、FireFox、Opera、Safari)均支持 XMLHttpRequest 对象(IE5 和 IE6
使用 ActiveXObject)。

  对于较新的浏览器,创建 XMLHttpRequest 对象的语法:
  var xmlhttp=new
XMLHttpRequest();

  对于比较老的IE浏览器(IE5 和 IE6),使用 ActiveX 来创建:
  var xmlhttp=new
ActiveXObject("Microsoft.XMLHTTP");

  兼容所有浏览器的创建 XMLHttpRequest 对象的代码:
  复制纯文本新窗口

  <script type="text/javascript">
  var
xmlhttp;
  if(window.XMLHttpRequest){
  // code for IE7+, Firefox, Chrome,
Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }else{
  // code for
IE6, IE5
  xmlhttp=new
ActiveXObject("Microsoft.XMLHTTP");
  }
</script>

AJAX的流程:

  1:创建ajax对象

  2:与服务器建立连接 open()方法

  3:发送请求(http协议) send()方法

  4:返回数据

一个发送 AJAX 请求的完整代码:

<script type="text/javascript">
  var xhr;
  // 创建 XMLHttpRequest
对象
  try{
  // code for IE7+, Firefox, Chrome, Opera, Safari
  xhr=new
XMLHttpRequest();
  }catch(e){
  // code for IE6, IE5
  xhr=new
ActiveXObject("Microsoft.XMLHTTP");
  }
  //
初始化请求参数
  xmlhttp.open("GET","/demo/javascript/ajax/ajaxDemo.php?action=getIP",true);
  //
发送请求
  xmlhttp.send();
</script>

open() 方法用来初始化 HTTP 请求参数,但是并不发送请求。

  语法: open(method,url,async)
  参数说明:
  method 必须参数。请求的类型,GET 或
POST。
  url 必须参数。文件在服务器上的位置。
  async 必须参数。是否异步发送请求,true(异步)或
false(同步)。
  注意:AJAX 的强大之处在于异步请求,所以 async 一般设置为 true ,否则将失去意义

open()方法的提交数据方法get和post的区别:get方式提交的数据在url上显示,并且大小是有限制的,安全性不好。post方式是在http请求中传递,理论上数据有大小是限制的

,安全性较好。传递的多个值用&号来连接。

异步和同步的区别:同步是指代码要一步一步来执行,前面
的代码执行完了,后面的代码才可以执行,而异步是前面的代码不影响后面的代码的执行,后面的代码可以先执行。

其实ajax的交换过程和form表单的提交异曲同共之妙。

笔记-Ajax[1]-的整体流程。,布布扣,bubuko.com

时间: 2024-10-16 00:53:58

笔记-Ajax[1]-的整体流程。的相关文章

.net学习之Session、Cookie、手写Ajax代码以及请求流程

1.IIS 7 以上版本集成了两种模式,一种是经典模式,一种是集成模式(直接将asp.net框架集成到IIS中) 2.浏览器和服务器端通过什么技术来实现的?Socket(套接字),通信的语法是HTTP协议,也就是请求报文和响应报文 3.浏览器请求asp.net页面实际是请求的asp.net页面里的ProcessRequest方法 4.请求一般处理程序时,找到ashx页面后台类ashx.cs,创建类对象并调用ProcessRequest方法,生成响应报文体,发回浏览器 5.post表单提交方式:数

软件项目开发环境构建之一:整体流程

通常情况下,一个大的项目,很难一个人完成,需要一个团队共同协作,大家彼此分工,共同完成不同或相同的模块,这时要求所使用的工具软件要具有分布式协同功能.处理冲突及持续交付功能,一般软件项目的整体流程如下: 一个软件项目的实施,要经过概念阶段.计划阶段.创建阶段.发布阶段及追踪阶段,Atlassion的软件族都有各阶段的对应软件. 一般,概念阶段,可以使用Confluence 进行需求管理,从最初的想法到最终的需求,能够通过Confluence强大的协同功能,高效的完成需求收集.整理.分类等工作(M

让每一步都跳出,这样不破坏整体流程,可以对结果随心所欲的控制(线程中断也可采用这种方法)

中间彻底中断整个流程的话,就不知道整体到底怎么回事了.而且会造成资源泄漏.程序员得不到预定的结果(哪怕是失败的结果,也要按照程序员的格式来记录). 此外,内部原子操作不必记录错误(否则对同一个文件错误,会有太多的记录,反而也没法再细究了),记录外部的逻辑结果错误即可. 这样,还可以一次性返回 return success1 && success2 && success3 是个好方法,不中断整体流程: QString MyTool::ZipAES(QString strSrc

笔记-Ajax[2]-代码的实现。

<script> var xhr; //创建一个ajax的对象 try{ xhr=new XMLHttpRequest(); }catch(e){ xhr=new ActiveXObject("Microsoft.XMLHTTP"); } //建立请求 xhr.open('post','/ajax/content.php',true); //发送请求 xhr.send('username=Ajax'); //响应 xhr.onreadystatechange=functio

[ajax 学习笔记] ajax 的服务器响应

在上一篇[ajax 学习笔记] ajax初试中,简单了解了一下ajax. 我是参考AJAX详解.chm学习的,资源已上传.参考链接:Ajax 专题 今天又学习了ajax中关于服务器响应的一些知识. ajax中服务器的响应是通过响应函数将服务器返回的数据呈现到页面的.服务器的响应体现在服务器响应回调函数中. 在上一篇的例子中,响应函数为: function updatePage(){ if(xmlHttp.readyState == 4){ //http就绪状态 if(xmlHttp.status

使用git整体流程

一.git提交代码走meger请求的整体流程 工作中使用git推代码时,如果走merge请求,那么也就是说拉代码时拉公共代码库的代码,但是提交时需要先提交到自己的代码库,然后在gitlab上提交merge请求,相应负责人review代码后合并代码到公共代码库中. 之前前面的部分没有总结,过一段时间后竟忘记了什么原理,现在再次使用git总结下一个新员工使用git走meger请求的全流程. 1.gitlab上新建个人远程库 2.在本地建立工作空间文件夹 3.从公共远程库clone对应分支的项目代码到

笔记-Ajax[4]-JSONP跨域获取数据。

JS的跨域:跨域名获取数据,a域名获取b域名中的数据. 解决跨域获取数据的方法也叫JSONP(JSON and Padding) JSONP方法: 1:服务器代理:XMLHttpRequest代理文件 2:script标签:jsonp(常用);//利用script标签的src引入外部文件的功能,src能够引入任何的文件的类型 3:location.hash方式:iframe 4:window.name方式 5:flash方式 6:html5的postMessage方式 例子:百度输入数据下拉框提

Android7.0 Vold 进程工作机制分析之整体流程

Android7.0 Vold 进程工作机制分析之整体流程 一.Vold简介 Vold是Volume Daemon的缩写,负责管理和控制Android平台外部存储设备,包括SD插拨.挂载.卸载.格式化等.它是通过init进程解析init.rc脚本所启动的进程.它处于Native层. 二.基础架构 这里引用Gityuan博客的一张图. SystermServer进程和Vold进程是通过Socket进行通信的,Vold进程和Kernel是通过Netlink 进行通信的,Netlink 是一种特殊的S

(转)linux内存源码分析 - 内存回收(整体流程)

http://www.cnblogs.com/tolimit/p/5435068.html------------linux内存源码分析 - 内存回收(整体流程) 概述 当linux系统内存压力就大时,就会对系统的每个压力大的zone进程内存回收,内存回收主要是针对匿名页和文件页进行的.对于匿名页,内存回收过程中会筛选出一些不经常使用的匿名页,将它们写入到swap分区中,然后作为空闲页框释放到伙伴系统.而对于文件页,内存回收过程中也会筛选出一些不经常使用的文件页,如果此文件页中保存的内容与磁盘中