AJAX 即“Asynchronous Javascript And XML”(异步JavaScript和XML)

Ajax 不是某种编程语言,只是一种在无需重新加载整个网页的情况之下能够更新部分网页的技术。(实现局部更新数据)

XMLHttpRequest 对象的创建

var request  = new XMLHttpRequest ;

解决兼容性的创建方法:

var request;
if(widsow.XMLHttpRequest){
request = new XMLHttpRequest();//IE7+,Firefox,Chrome,Oprea,Safari.....
}else{
request = new ActiveXObject("Microsoft.XMLHTTP");//IE6,IE5
}
HTTP 请求过程,一般有7个步骤:

、建立TCP连接(一般HTTP走的是TCP的连接)

、Web浏览器向Web服务器发送请求命令

、Web浏览器发送请求头信息

、Web服务器应答

、Web服务器发送应答头信息

、Web服务器向浏览器发送数据

、Web服务器关闭TCP连接

首先是请求的部分,HTTP请求一般分为4个部分组成:

、HTTP请求的方法或动作,比如是用 GET 还是 POST 请求

、正在请求的URL,总得知道请求的地址是什么

、请求头信息,包含一些客户端环境信息,身份验证信息等

、请求主体,也就是请求正文,请求正文中可以包含客户提交的查询字符串信息,表单信息等等

*  一般请求头与请求体之间有个空行,这个空行很重要,表示请求头已结束。

GET :(默认的http请求的方法)一般用于信息获取,它是使用网页上的URL传递参数,会直接显示在网页的URL地址的后面;它对发送的信息的数量有所限制,一般是2K的容量(常用于查询、获取操作,对任何人可见,安全性不高)

POST : 一般用于修改服务哭上的资源;它对发送的信息的数量没有限制。(常用于发送表单数据,添加、修改等操作,对其它人不可见,安全性高)

请求的图例:
其次是响应的部分,一个HTTP响应一般由3部分组成 : 、一个数字和文字组成的状态码,用来显示请求是成功还是失败 、响应头,响应头也和请求头一样包含许多有用的信息,例如服务器类型、日期时间、内容类型和长度等等 、响应体,也就是响应正文,响应正文一般也是和请求正文差不多的,也会在响应头后面空行后显示响应正文。
响应的图例:(此图中没有响应正文)
XMLHttpRequest发送请求:

open(method,url,async) : 通过它可以调用http请求

 method : 表示使用get方法还是post方法发送请求,大写小写都可以,一般使用大写。

 url :表示发送请求的URL(必不可少),可以是相对路径,也可以是绝对路径

async : 表示是同步还是异步,值为 true 表异步方式,值为 false 表同步方式(默认值是 true ,一般会不填写)

send(string)  : 将请求发送到服务器

值 为get 可不写或null ;值 为 post 则需要填写内容,否则意义不大

使用范例:

request.open("GET","get.php",true);
request.send(); request.open("POST","post.php".true);
send(); request.open("POST","create.php".true);
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");//setRequestHeader必须写在open与send之间,否则会抛出异常
//若发送文件,一般是采用这种方式
request.send("name=张三&sex=男"); -------------------------------------------------------------------------------- XMLHttpRequest获取响应: 获取响应值的属性及方法:
、responseText : 获得字符串形式的响应数据 、responseXML : 获得XML形式的响应数据 、status 和 statusText : 以数字和文本形式返回 HTTP状态码 、getAllResponseHeader() :获取所有的响应报头 、getResponseHeader() : 查询响应中的某个字段的值 readyState( 返回响应的状态) readyState 存有 XMLHttpRequest 的状态。从 到 发生变化。 : 请求未初始化 ,open 还未调用
: 服务器连接已建立 ,open已经调用了
: 请求已接收 ,也就是接收到头信息了
: 请求处理中 ,也就是接收到响应主体了
: 请求已完成,且响应已就绪 ,也就是响应完成了 HTTP 请求过程范例: var request = new XMLHttpRequest();
request.open("GET","get.php".true);
request.send();
request.onreadystatechange = funcgion(){
if(request.readyState === && request.status === ){//readyState === 4 用来判断响应是否成功 status === 200 用来判断是否请求成功
//做一些事情 request.responseText
}
}

Ajax 知识点的更多相关文章

  1. 关于Ajax知识点小节

    URL:统一资源定位符 网络的七层协议:网卡 驱动  网络层(ip)  传输层(tcp udp) 会话层( )  应用层(http.) restful表征状态转移(一种表征架构) CURD 增删改查 ...

  2. ajax知识点总结

    一.JSON JSON是JavaScript  Object  Notation 的首字母缩写,单词的意思是javascript对象表示法,这里说的json指的是类似于javascript对象的一种数 ...

  3. ajax知识点

    什么是AJAX? AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. ...

  4. django jquery ajax 知识点

    示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <div id='d'>1</div> <div> <div id='i1' nam ...

  5. ajax知识点及正则表达式总结

    一.JSON JSON是JavaScript  Object  Notation 的首字母缩写,单词的意思是javascript对象表示法,这里说的json指的是类似于javascript对象的一种数 ...

  6. Ajax知识点复习

    1. ajax是什么? * asynchronous javascript and xml:异步的js和xml * 它能使用js访问服务器,而且是异步访问! * 服务器给客户端的响应一般是整个页面,一 ...

  7. ajax知识点补充

    读取服务器上的数据: HTML: <!DOCTYPE HTML><html><head><meta charset="utf-8"> ...

  8. Ajax知识点整理

    一.javascript原生Ajax 1.简介 Ajax是Asynchronous JavaScript+XML(异步JavaScript和XML)的缩写. 该名称诞生于XML还是数据传输首选格式的时 ...

  9. Ajax 知识点总结

    1.AJAX的优缺点都有什么? 最大的一点是页面无刷新,用户的体验非常好.使用异步方式与服务器通信,具有更加迅速的响应能力.可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻 ...

随机推荐

  1. 转:Java.file

    类 java.io.File 的使用 使用 File 的软件包 java.awt 包含用于创建用户界面和绘制图形图像的所有类. java.io 通过数据流.序列化和文件系统提供系统输入和输出. jav ...

  2. 带有静态方法的类(java中的math类)

    带有静态方法的类通常(虽然不一定是这样)不打算被初始化. 可以用私有构造函数来限制非抽象类被初始化. 例如,java中的math类.它让构造函数标记为私有,所以你无法创建Math的实例.但Math类却 ...

  3. LoadRunner测试结果分析03 转载至zhangzhe的新浪博客

    LoadRunner测试结果分析之我见 前面分析的Web Resource(网络资源)的测试情况,其主要关注的是服务器性能,而系统本身和环境都有可能存在问题,页面诊断(Web Page Diagnos ...

  4. 关于ckeditor 第二次加载 出现问题

    在使用ckeditor 出现的问题也比较多的 ,一个问题是图片上传的问题 ,一个就是第二次加载的时候 ckeditor编辑框出现不了的问题 第一个问题 是修改ckeditor js属性 网上都有  第 ...

  5. 百度地图api根据地图缩放等级显示不同的marker点,功能二

    功能一里面有marker点后台的代码 根据地图的缩放等级显示不同marker点的坐标JSP代码 <%@ page language="java" contentType=&q ...

  6. @RequestMapping用法详解

    @RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径. RequestMapping注解有六个属性,下面我们把 ...

  7. 《从零开始做一个MEAN全栈项目》(1)

    欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 在本系列的开篇,我打算讲一下全栈项目开发的优势,以及MEAN项目各个模块的概览. 为什么选择全栈开发? ...

  8. 正确理解ThreadLocal

    想必很多朋友对 ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理.首先,本文先谈一下对ThreadLocal的理 解,然后根据ThreadLocal类的 ...

  9. Ninject之旅之一:理解DI

    摘要: DI(IoC)是当前软件架构设计中比较时髦的技术.DI(IoC)可以使代码耦合性更低,更容易维护,更容易测试.现在有很多开源的依赖反转的框架,Ninject是其中一个轻量级开源的.net DI ...

  10. VS2010添加资源文件

    VS2010中资源文件管理在 双击打开Resources.resx 选择左上角资源文件类型 然后复制资源文件 粘贴到空白区域 则会自动生成资源文件代码 在项目中使用该资源文件时,通过global::P ...