Ajax---概念介绍

Ajax不是某种编程语言,是一种在无需重新加载整个网页的情况下能够更新部分网页的技术。

运用HTML和CSS来实现页面,表达信息;

运用XMLHttpRequest和Web服务器进行数据的异步交换;

运用JavaScript操作DOM,实现动态局部刷新;

I. Ajax同步与异步

II. 创建XMLHttpRequest对象

var request;
if(window.XMLHttpRequest){
  request=new XMLHttpRequest();//IE7+,Firefox,Chrome,Opera,Safari...
}else{
  request=new ActiveXObject("Microsoft.XMLHTTP");//IE6,IE5...
}

III. Ajax-HTTP请求

(1)什么是HTTP?

http是计算机通过网络进行通信的规则;

http是一种无状态协议:不建立持久的连接;

(2)HTTP请求

(2.1)一个完整的HTTP请求过程,通常有下面7个步骤:

  (01)建立TCP连接;

  (02)Web浏览器向Web服务器发送请求命令;

  (03)Web浏览器发送请求头信息;

  (04) Web浏览器应答;

  (05)Web服务器发送应答头信息;

  (06)Web服务器向浏览器发送数据;

  (07) Web服务器关闭TCP连接。

(2.2) 一个HTTP请求一般由四部分组成:

  (01) http请求的方法或动作,比如是GET还是POST请求;

  (02)正在请求的URL,总得知道请求的地址是什么;

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

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

(2.3)HTTP请求---概念介绍

GET/login.php HTTP/1.1
Host:localhost
Connection:keep-alive
Accept:text/javascript,application/javascript,application/ecmascript,application/x-ecmascript,*/*;
q=0.01
X-Requested-Width:XMLHttpRequest
User-Agent:Mozilla/5.0(Windows NT 6.1)Referer:http://www.baidu.com/
Accept-Encoding:gzip,deflate,sdch
Accept-Language:zh-CN,zh;q=0.8,en;q=0.6

username=admin&password=123456

GET(默认的):一般用于信息获取;

   使用URL传递参数;

对所发送信息的数量也有限制,一般在2000个字符

POST:一般用于修改服务器上的资源;

       对所发送信息的数量无限制。

(2.4)HTTP响应

  一个HTTP响应一般由三部分组成:

  (01)一个数字和文字组成的状态码,用来显示请求是成功还是失败;

  (02)响应头,响应头也和请求头一样包含许多有用的信息,例如服务器类型、日期时间、内容类型和长度等;

  (03)响应体,也就是响应正文。

HTTP/1.1 200 OK
Date:Sun,23 Nov 2014 10:14:45 GMT
Server:Apache
Content-Encoding:gzip
Content-Length:7112
Connection:Keep-Alive
Content-Type:application/javascript

  (2.4.1) HTTP状态码

  HTTP状态码由3位数字构成,其中首位数字定义了状态码的类型:

  1XX:信息类,表示收到了Web浏览器请求,正在进一步的处理中

  2XX:成功,表示用户请求被正确接收,理解和处理。例如: 200  OK

  3XX:重定向,表示请求没有成功,客户必须采取进一步的动作

  4XX:客户端错误,表示客户端提交的请求有错误,例如:404 NOT Found,意味着请求中所引用的文档不存在。

  5XX:服务器错误,表示服务器不能完成对请求的处理,例如:500

IV. XMLHttpRequest发送请求

  • open(method,url,async)  
    method:发送请求方法;url:请求地址;async:请求同步/异步,异步(true)和同步(false),默认值是true(异步)。
  • send(string)
request.open("GET","get.php",true)
request.send();

request.open("POST","post.php",true);
request.send();

request.open("POST","create.php",true);
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
request.send("name=jack&sex=male");

V. XMLHttpRequest取得响应

  • responseText:获取字符串形式的响应数据;
  • responseXML:获取XML形式的响应数据;
  • status和statusText:以数字和文本形式返回HTTP状态码;
  • getAllResponseHeader():获取所有的响应报头;
  • getResponseHeader():查询响应中的某个字段的值;
  • readyState属性
    0:请求未初始化,open还没有调用;
    1:服务器连接已建立,open已经调用;
    2:请求已接收,也就是接收到头信息了;
    3:请求处理中,也就是接收到响应主体了;
    4:请求已经完成,且响应已经就绪,也就是响应完成了。
var request=new XMLHttpRequest();
request.open("GET","get.php",true);
request.send();
request.onreadystatechange=function(){   //监听服务器是否做出正确响应
  if(request.readyState===4 && request.status===200){
    //做一些事情 request.responseText
  }
}

    

时间: 2024-10-21 16:46:44

Ajax---概念介绍的相关文章

Ajax概念及基础

今天只是介绍ajax概念及基础语法,使用的只是简单的逻辑,目的是加深ajax的作用和使用方法.1. 网络传输协议网络传输协议是一套规定浏览器与服务器之间交流时需要遵守的规范.如果浏览器与服务器各自设定协议不一致的话,就会产生两个之间交流的障碍.而在两者交互的时候无非是浏览器发出请求报文,服务器接收请求报文并返回响应报文,浏览器解析并渲染响应报文.1.1 请求报文请求报文是由浏览器发出,分三个部分:请求行,请求头,请求主体.1.1.1 请求行包含请求的方法:get或post;请求的路径或者是地址;

ajax简单介绍

Ajax 由 HTML.JavaScript™ 技术.DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序.本文的作者是一位 Ajax 专家,他演示了这些技术如何协同工作 —— 从总体概述到细节的讨论 —— 使高效的 Web 开发成为现实.他还揭开了 Ajax 核心概念的神秘面纱,包括 XMLHttpRequest 对象. ajax特性介绍: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type Stri

输入子系统概念介绍

输入子系统在内核中的位置:/driver/input drivers/input/input.c: input_init ---> err = register_chrdev(INPUT_MAJOR, "input", &input_fops); static const struct file_operations input_fops = { .owner = THIS_MODULE, .open = input_open_file, }; 问:怎么读按键? inpu

Shiro权限控制框架入门1:Shiro的认证流程以及基本概念介绍

前言:我在最开始学习Shiro这个框架时,在网上搜索到的一个介绍比较全面的教程是:<跟我学Shiro>系列教程.但是在我看了他写的前几篇文章后,我发现虽然他在这个系列教程中把shiro的一些特性介绍地非常全面详细,但是整个教程的叙述方式还是有很大缺陷的.文章与文章之间并没有很好地串联起来,每篇文章介绍的东西都过于分散了,如果是对shiro完全不了解的新手来看的话完全是一场噩梦.就像一个网友评价的这样: 看了看这个教程,看完之后都想放弃shiro了,完全看不懂,后来百度了很多别的资料才理解了sh

足彩基础知识入门(4)赛事数据库与预测平台基础概念介绍(一)

在足球赛事数据库以及统计分析预测平台中,有很多概念,如果不搞懂,很难进行下一步的工作.所以为了配合团队人员的学习和任务进行,特意编写这篇文章.如果有其他问题和不懂的,请留言,将根据情况进行更新. 本文原文地址:足彩基础知识入门(4)赛事数据库与预测平台基础概念介绍(一) 1.指数1/2/3.... 我在 足彩基础知识入门(3)足彩赔率的本质 一文中介绍了赔率的概念,那么指数的概念和赔率以及结果是相关的.我们举个例子: 如上图的比赛,前面是竞彩非让球的赔率:1.74-3.25-4.15,也就是说

攻城狮在路上(贰) Spring(二)--- Spring IoC概念介绍

一.IoC的概念: IoC(控制反转)是Spring容器的核心.另一种解释是DI(依赖注入),即让调用类对某一个接口的依赖关系由第三方注入,以移除调用类对某一个接口实现类的一览. 定义如此,由此可见,在面向接口编程的情况下,IoC可以很好的实现解耦,可以以配置的方式为程序提供所需要的接口实现类. 在实际程序开发中,我们只需要提供对应的接口及实现类,然后通过Spring的配置文件或者注解完成对依赖类的装配.二.IoC的类型: 1.通过构造函数: 此种方式的缺点是,在构造函数中注入之后一般会作为一个

DNS系列- 1.dns基本概念介绍

DNS系列- 1.dns基本概念介绍     目录         前言         一.概述             1.名词解释             2.DNS域名结构         二.DNS域名解析             1.查询类型             2.解析类型             3.DNS服务器的类型             4.区域传输             5.解析过程             6.解析答案         三.资源记录        

《统计自然语言处理》读书笔记 一.基础知识及概念介绍

最近准备学习自然语言处理相关的知识,主要参考<统计自然语言处理·宗成庆>和<Natural Language Processing with Python>,推荐大家阅读.第一篇主要介绍的是NLP的基础知识和概念介绍,其实也是我关于NLP的读书笔记吧,希望对大家有所帮助. 一. 概念介绍 自然语言处理 自然语言处理(Natural Language Processing,简称NLP)技术的产生可追溯到20世纪50年代,它是一门集语言学.数学(代数.概率).计算机科学和认知科学等于一

MongooooooooooooooooooooDB入门二:基本概念介绍

前言 工欲善其事必先利其器.在学习MongoDB之前,需要对MongoDB的一些基本概念有系统的了解. 所以,本篇文章主要介绍MongoDB的一些基本概念,这些概念的定义均来自<MongoDB权威指南>,关于此书想要了解更多,请点击此处. 我尽量使用最简洁的语言来尽可能完整地描述这些基本概念,如有遗漏或不妥之处欢迎指正. 文档 文档是MongoDB的核心概念之一.多个键值对有序地放在一起便是文档.例如: {"name":"Jerry","sco

《AngularJS深度剖析与最佳实践》笔记: 第二章 概念介绍

第二章 概念介绍 2.1 什么是UI? 用户界面包括内容(静态信息+动态信息), 外观, 交互. 在前端技术栈中分别由HTML, CSS和JS负责. 进一步抽象, 分别对应于MVC三个主要部分: Model, View和Controller 对应到AngularJS中,  内容: 静态内容---模板 动态内容---scope 交互---Controller 外观 CSS----样式 filter----格式 2.2. 模块(module) 模块: 把相关的一组编程元素(如类, 函数, 变量等)组