Ajax 基础

简介: 一:什么是 AJAX ? AJAX = 异步 JavaScript 和 XML。 AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。

一:什么是 AJAX ?

AJAX = 异步 JavaScript 和 XML。

AJAX 是一种用于创建快速动态网页的技术。

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

XMLHttpRequest 是 AJAX 的基础。

所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。

XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

 

二:创建 XMLHttpRequest 对象

所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。

创建 XMLHttpRequest 对象的语法:

var iable=new XMLHttpRequest();

老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象: variable=new ActiveXObject("Microsoft.XMLHTTP");

为了应对所有的现代浏览器,包括 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。 如果支持,则创建 XMLHttpRequest 对象。 如果不支持,则创建 ActiveXObject :

 1 var xmlhttp;
 2 
 3 if (window.XMLHttpRequest) {
 4 
 5 // code for IE7+, Firefox, Chrome, Opera, Safari
 6 
 7 xmlhttp=new XMLHttpRequest();
 8 
 9 } else {
10 
11 // code for IE6, IE5
12 
13 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
14 
15 }

 

三:向服务器发送请求

1.open()方法

用于设置进行异步请求目标的URL,请求方法以及其他参数信息。

xmlHttp.open("请求的类型 get/post","文件在服务器上的位置/Servlet","同步还是异步 false/true",username,password);

2.send()方法

用于向服务器发送请求,如果请求声明为异步,该方法将立即返回,否则将等到接收到响应为止。

xmlHttp.send(content);cotent:用于指定发送的数据,可以是DOM对象的实例,输入流或字符串。如果没有参数需要传递,可以设置为null.

3.setRequestHeader()方法 用于为post请求的HTTP头设置值。

xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

 

四:XMLHttpRequest对象的常用属性

(1)onreadystateChange 属性用于指定状态改变时所触发的事件处理器。

在ajax中,每个状态改变时都会触发这个事件处理器,通常会调用一个JavaScript函数。

http_request.onreadystatechange=function(){}

(2)readyState 属性用于获取请求的状态,共包括5个属性值 0:未初始化 1:正在加载      2:已加载        3:交互中       4:完成

(3)responseText 属性用于获取服务器的响应,表示为字符串。

(4)responseXML 属性用于获取服务器的响应,表示为xml.

(5)status属性用于返回服务器的HTTP状态码。 200:表示成功        202:表示请求被接受,但尚未成功           400:错误的请求          404:文件未找到              500:内部服务器错误

五:发送ajax发送请求,4步骤:

1.初始化XMLHttpRequest对象。为了提高程序的兼容性,需要创建一个跨浏览器的XMLHttpRequest对象。

2.创建一个与服务器的连接。

3.向服务器发送请求。

4.为XMLHttpRquest对象指定一个返回结果处理函数(即回调函数),用于对返回结果进行处理。

封装成一个函数:传一个对象。

 1 function AjaxCy(obj){
 2     //创建对象
 3     var xmlhr;
 4     if(window.XMLHttpRequest){
 5         xmlhr = new XMLHttpRequest();
 6     }else{
 7         xmlhr = new ActiveXObject("Microsoft.XMLHTTP");
 8     }
 9     //初始化
10     //如果是post请求则需要指定请求头
11     //发送
12     if(obj.method=="post" || obj.method=="POST"){
13         xmlhr.open(obj.method,obj.url,obj.sync);
14         xmlhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
15         xmlhr.send(obj.data);
16     }else{
17         xmlhr.open(obj.method,obj.url+"?"+obj.data,obj.sync);
18         xmlhr.send();
19     }
20     //回调函数    
21     xmlhr.onreadystatechange = function (){
22         if(xmlhr.readyState==4&&xmlhr.status==200){
23             obj.fun(xmlhr.responseText);
24         }
25     };
26 }

 

相关文章
|
前端开发 缓存 JavaScript
ajax基础
最简单的get提交方式 首先在前端页面书写一个文本框用来获取用户输入的值,再创建一个空的div框用来接收回调函数所显示的值并且都要定义一个id的属性值,因为ajax获取值和传值的时候需要用到id而不是name也不是class 并且在jQuery中定义变量接收值时使用的是var 2018-01-08 14-18-37 的屏幕截图.
923 0
|
JSON JavaScript 前端开发
ajax基础
AJAX AJAX简介 ajax分类 ajax的语法 表示一个对象 表示一个由对象组成的数组 将java对象转换成json字符串 ajax实现过程 获取ajax对象 配置请求对象的信息 发送请求 监听Ajax引擎对象的改变是否正确做出了响应 Ajax引擎的状...
1404 0
|
Web App开发 前端开发 JavaScript
AJAX-基础
1、ajax是什么 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。
782 0
|
5月前
|
XML 前端开发 JavaScript
什么是Ajax和jquery
什么是Ajax和jquery
39 0
|
4月前
|
JSON 前端开发 Java
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
60 0
|
4月前
|
敏捷开发 JavaScript 前端开发
❤❤❤【Vue.js最新版】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本❤❤❤
❤❤❤【Vue.js最新版】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本❤❤❤
|
3月前
|
前端开发 JavaScript
Jquery ajax捕获错误信息
Jquery ajax捕获错误信息
16 0
|
3月前
|
JSON 缓存 前端开发
Jquery中AJAX的应用
Jquery中AJAX的应用
43 0
|
4月前
|
JSON 前端开发 JavaScript
jQuery中ajax的使用
jQuery中ajax的使用