Ajax

Ajax = 异步JavaScript和XML,Ajax是一种用于创建快速动态网页的技术。

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

传统网页(不使用Ajax)如果需要更新内容,必须重新加载整个网页。

注意:Ajax不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的web应用程序技术。

Ajax所包含的技术

① 使用CSS和XHTML来表示

② 使用DOM模型来交互和动态显示

③ 使用XMLHttpRequest来和服务器进行异步通信

④ 使用JavaScript来绑定和调用

AJAX核心是XMLHTTPRequest对象,不同的浏览器创建XMLHTTPRequest对象方法是有差异的。

IE使用ActiveXObject,而其它的浏览器使用XMLHTTPRequest的JavaScript内建对象;

XMLHTTPRequest对象属性:

● onreadystatechange:状态改变的事件触发器,每个状态改变时都会触发这个事件处理器,通常会调用一个JavaScript函数

● readySteat:请求的状态(0-1-2-3-4)

 0 - (未初始化)还没有调用send()方法

 1 - (载入)已调用send()方法,正在发送请求

 2 - (载入完成)send()方法执行完成,已接收到全部响应内容

 3 - (交互)正在解析响应内容

 4 - (完成)响应内容解析完成,可以在客户端调用

● responseText:服务器的响应,返回数据的文本(内容)

● responseXML:服务器的响应,返回数据的兼容DOM的XML文档对象,这个对象可以解析为一个DOM对象

● responseBody:服务器返回的主题(非文本格式)

● responseStream:服务器返回的数据流

● status:服务器的HTTP状态码(如:404="文件未找到"、200="成功",等等)

● statusText:服务器返回的状态文本信息,HTTP状态码的相应文本(OK或Not Found(未找到) 等等)

XMLHttpRequset对象方法

● abort():停止当前请求

● getAllResponseHeaders():把HTTP请求的所有响应首部作为键/值对返回

● getResponseHeaders("header"):返回指定首部的串值

● open(method,url,asyncFlag):初始化一个请求,建立对服务器的调用;xmlHttp.open("GET","test.jsp",true)

 参数1:设置请求类型(GET或POST),参数2:文件在服务器上的位置;参数3:是否异步处理请求。

● send(content):向服务器发送请求

● setRequestHeaders("header","value"):把指定首部设置为所提供的值。在设置任何首部之前必须先调用open()。设置header并和请求一起发送('post')方法一定要

Ajax使用步骤:

① 创建XMLHttpRequest对象

② 设置请求方式

③ 调用回调函数

④ 发送请求

XMLHttpRequest写法

//创建XMLHttpRequest对象
var xmlHttp ;
if(window.XMLHttpRequest){ //非IE
xmlHttp = = new XMLHttpRequest();
}else if(window.ActiveXObject){ //IE
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//设置请求方式
xmlHttpxhr.open('POST', '/hello.json', true)
//发送. psot数据要放在send里面
xmlHttp.send('username=luoshushu&passwore=123')
xmlHttp.addEventListener('load', function () {
if((xmlHttp.status >= 200 && xmlHttp.status < 300) || xmlHttp.status === 304){
var data = xmlHttp.responseText
console.log(data)
}else{
console.log('出错了')
}
})

ajax标准写法

$.ajax({
url:"http://www.microsoft.com", //请求的url地址
dataType:"json", //返回格式为json
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
data:{"id":"value"}, //参数值
type:"POST", //请求方式
beforeSend:function(){
//请求前的处理
},
success:function(req){
//请求成功时处理
},
complete:function(){
//请求完成的处理
},
error:function(){
//请求出错处理
}
});

Ajax技术 - (Asynchronous JavaScript + XML)的更多相关文章

  1. Ajax:一种网页开发技术(Asynchronous Javascript + XML)

    创建新的 XMLHttpRequest 对象(Ajax 应用程序的核心): <script language="javascript" type="text/jav ...

  2. AJAX(Asynchronous JavaScript And XML)

    AJAX(Asynchronous JavaScript And XML):异步的javascript和xml技术 作用:在不刷新整个页面的情况下,通过XMLHttpRequest向后台偷偷发起请求, ...

  3. 第18天 ajax技术和javascript加强(json)

    第18天    ajax技术和javascript加强(json) 复习: B/S架构实现文件上传的思路? 使用a标签实现文件下载功能,有什么问题? 使用Servlet实现文件下载的思路? 今日任务 ...

  4. Web应用程序开发,基于Ajax技术的JavaScript树形控件

    感谢http://www.cnblogs.com/dgrew/p/3181769.html#undefined 在Web应用程序开发领域,基于Ajax技术的JavaScript树形控件已经被广泛使用, ...

  5. Ajax(Asynchronous JavaScript )and xml

    JavaScript的两种任务执行模式--同步(synchronous)和异步(Asynchronous) 同步模式 JavaScript的执行环境是单线程的,意味着一次只能执行一个任务,如果有多个任 ...

  6. AJAX(Asynchronous JavaScript and XML)学习笔记

    基本概念: 1.AJAX不是一种新的编程语言,而是一种使用现有标准的新方法. 2.AJAX最大的优点是在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页内容,用于创建快速动态网页(传统网页如 ...

  7. Ajax (Asynchronous javascript xml) 搜索框核心代码(JQuery) Ajax判断用户名存在核心代码 附:原生js的Ajax代码 其中有json的一句话解释

    前端 <script type="text/javascript"> $(function(){ $("#tid").keyup(function( ...

  8. jQuery和ajax【“Asynchronous Javascript And XML】

    环境搭建 搭建一个jQuery的开发环境非常方便,可以通过下列几个步骤进行. 下载jQuery文件库 在jQuery的官方网站(http://jquery.com)中,下载最新版本的jQuery文件库 ...

  9. 用AJAX技术聚合RSS

    有时候,你的Blog可能需要这样的功能: 在自己Blog上聚合并显示朋友Blog的最新文章,这样方便自己及时了解朋友的消息,另外,也方便访问者找到和本Blog相关的blog和文章. 这个功能你可以叫它 ...

随机推荐

  1. java设计模式系列1-- 概述

    准备开始写些设计模式的随笔,这是第一篇,概述主要回顾下六大原则 先用轻松和谐的语言描述下这6个原则: 单一职责 每个类甚至每个方法都只要做自己分内的事,不要背别人的锅,也就是功能要分类,代码要解耦 里 ...

  2. Post Office IOI 2000 /// 区间DP oj24077

    题目大意: 给定n个村庄的坐标,两个村庄之间的距离是其坐标之差的绝对值 最多能选m个村庄设立邮局,求设立邮局的地点使得各村庄与邮局距离总和最小 一, 所有的村庄看做在一条直线上 考虑三个因素:i 当前 ...

  3. USACO 2006 November Gold Fence Repair /// 贪心(有意思)(优先队列) oj23940

    题目大意: 输入N ( 1 ≤ N ≤ 20,000 ) :将一块木板分为n块 每次切割木板的开销为这块木板的长度,即将长度为21的木板分为13和8,则开销为21 接下来n行描述每块木板要求的长度Li ...

  4. USACO 2003 Fall Orange Cow Exhibition /// 负数01背包 oj22829

    题目大意: 输入n 接下来n行 每行输入 a b 输出n行中 a+b总和最大的同时满足 所有a总和>=0所有b总和>=0的值 负数的01背包应该反过来 w[i]为正数时 需要从大往小推 即 ...

  5. CF961F k-substring

    题意:给你一个字符串(sl<=1e6),问每一个起点到1和终点到sl距离相等的子串的最长不等于串长的border. 标程: #include<cstdio> #include< ...

  6. [转]Git 常用命令详解

    史上最浅显易懂的Git教程 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/ ht ...

  7. Python遇到的第一个问题

    1.运行如下代码: 输入成绩80之后报错: 2.问题分析:字符串跟整型不能比 3.查看score的类型 print(type(score)), 由此看出score是string类型的,因为input接 ...

  8. 集合划分——cf1028D思维题

    非常思维的一道题目,题意很长 给定s1,s2两个集合,s1维护最大值,s2维护最小值,s1的所有元素要比s2小 操作1:往两个集合里的任意一个添加x 操作2:把x从所在的集合里删掉:要求被删的x必须是 ...

  9. LUOGU P1342 请柬(最短路)

    传送门 解题思路 又是一道语文题,弄清楚题意之后其实就能想出来了,从1跑一遍最短路,把$dis[n]$加入答案.在建个反图跑一遍最短路,把$dis[n]_$加入最短路就行了.第一遍是去的时候,第二遍是 ...

  10. 洛谷P5341 [TJOI2019]甲苯先生和大中锋的字符串

    原题链接P5341 [TJOI2019]甲苯先生和大中锋的字符串 题目描述 大中锋有一个长度为 n 的字符串,他只知道其中的一个子串是祖上传下来的宝藏的密码.但是由于字符串很长,大中锋很难将这些子串一 ...