Ajax全称为Asynchronous Javascript and XML。一般用于页面数据交互响应,最大的好处是响应时无需刷新页面。

Ajax的优点:

  1、不需要插件的支持。用户只需允许javascript在浏览器上执行。

  2、强大的用户体验。这是ajax最大的优点,用户能在不刷新页面的情况下更新数据,使得Web应用程序能更为迅速地回应用户的操作。

  3、提高Web程序的性能。传统模式中,数据提交是以表单form来实现的,数据获取是靠刷新全页面的内容。而Ajax模式只是通y过XMLHttpRequest对象向服务器端提交数据,即按需发送。

  4、减轻服务器和带宽的负担。Ajax的工作原理相当于在客户端和服务器端之间多了一个中间层,使用户操作与服务器响应异步化。它在客户端创建一个Ajax引擎,把传统方式下的一些服务器负担的工作转移到客户端,减轻服务器和带宽的负担。

Ajax的不足:

  1、浏览器对XMLHttpRequest对象的支持度不足。IE5及以后的版本才支持XMLHttpRequest对象。

  2、破坏浏览器的前进、后退按钮。在Ajax中“前进”、“后退”按钮的功能都会失效,虽然可以通过一定方法(锚点)使用户可以使用“前进”、“后退”按钮,但相比传统方法还是麻烦许多。

  3、对搜索引擎的支持度不足。

Ajax的核心就是XMLHttpRequest对象。

传统javascript编写Ajax的例子:

先编写html文件:

<input type = "button" value = "AjaxSubmit" onclick = "Ajax();"/>
<div id = "resText"></div>

然后编写函数

function Ajax() {
var xmlHttpReq = null;
if(window.ActiveXObject) { //IE5、IE6是以ActiveXObject的方式
//引入XMLHttpRequest对象的
xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) { //除IE5、IE6以外的浏览器
//XMLHttpRequest是window的子对象
xmlHttpReq = new XMLHttpRequest(); //实例化XMLHttpRequest对象
}
xmlHttpReq.open("GET",url,true); //调用open方法并采用异步方式
xmlHttpReq.onreadystatechange = RequestCallBack; //设置回调函数
xmlHttpReq.send(null); //get方法所以可以发送null
} function RequestCallBack() { //一旦readystate改变则调用该函数
if(xmlHttpReq.readyState == 4 && xmlHttpReq.status == 200) { //当请求已经加载(readystate==4)并且响应成功(status==200)
document.getElementById('resText').innerHTML = xmlHttpReq.responseText;
}
}

jQuery中的Ajax

  1、load()方法

    load方法一般结构:

load(url,data,callback);
load方法参数解释
参数名称 类型 说明
url String 请求HTTP页面的URL地址
data Object 发送至服务器key/value的数据
callback Function 请求完成时的回调函数,无论请求成功还是失败

    一般使用方法:

// 当send按钮点击时将test.html的内容加载到id为resText的元素中
(document).ready(function() {
$('#send').click = function() {
$('#resText').load("test.html");
}
}); // 当send按钮点击时将test.html里class为parent的内容加载到id为resText的元素中
(document).ready(function() {
$('#send').click = function() {
$('#resText').load("test.html .parent");
}
}); // 无参数传递时是GET方式
$('#resText').load("test.html",function() {
//.....
}); //有参数传递时是POST方式
$('#resText').load("test.html",{name: "kkk", age: "20"},function(){
//.....
}); // 回调函数
$('#resText').load("test.html",function(responseText, textStatus, XMLHttpRequest){
// responseText 请求返回的内容
// textStatus 请求状态:success、error、notmodified、timeout
// XMLHttpRequest XMLHttpRequest对象
});

Ajax学习笔记(1)的更多相关文章

  1. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  2. Ajax学习笔记demo

    AJAX学习 AJAX简介: 全称:Asynchronous JavaScript and XML (JavaScript执行异步网络请求(JS和XML)),通过AJAX可以在浏览器向服务器发送异步请 ...

  3. 基于PHP的AJAX学习笔记(教程)

    本文转载自:http://www.softeng.cn/?p=107 这是本人在学习ajax过程所做的笔记,通过本笔记的学习,可以完成ajax的快速入门.本笔记前端分别使用原生态的javascript ...

  4. ajax学习笔记1

    ajax是什么? ajax即“Asynchronous Javascript + XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术.能够快速的从服务器获得所需数据 ...

  5. AJAX学习笔记

    AJAX不是一种编程语言,AJAX是一种实现网页异步加载的技术,即不刷新网页也能部分的更新网页的内容.如:提交表单信息,通过ajax可以不刷新页面来使得人们明白如何正确的填写信息,判断填写信息的错误或 ...

  6. Jquery ajax 学习笔记

    本人的js & jq 一直是菜鸟级别,最近不忙就看了看ajax方面的知识,文中部分内容参考自这里&这里 之前一直用js写ajax现在基于jq实现方便多了~ $.get & $. ...

  7. Ajax学习笔记2之使用Ajax和XML

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Using Ajax wit ...

  8. Ajax学习笔记1之第一个Ajax应用程序

    代码 <head> <title>An Ajax demo</title> <script src="../js/jquery-1.4.1.js&q ...

  9. Ajax学习笔记(二)

    二.prototype库具体解释 1.prototype库的使用 //导入下载好的prototype.js文件 <script type="text/javascript" ...

  10. ajax学习笔记(原生js的ajax)

    ajax是一个与服务器端语言无关的技术,可以使用在任何语言环境下的web项目(如JSP,PHP,ASP等). ajax优点: 1) 页面无刷新的动态数据交互 2) 局部刷新页面 3) 界面的美观 4) ...

随机推荐

  1. 【noip2012】开车旅行

    题意: 给n个点的海拔h[i](不同点海拔不同) 两点的距离为abs(h[i]-h[j]) 有a.b两人轮流开车(只能往下标大的地方开) a每次会开到里当前点第二近的点 b每次会开到离当前点最近的点( ...

  2. 组建Windows家庭组

    这里,是必须得针对Windows 7.8.10而言,因为,Windows XP 和 Windows Vista系统没有家庭网络的功能.(比较过时的一些系统了) 1.Windows家庭组的简介 使用家庭 ...

  3. A Tour of Go Advanced Exercise: Complex cube roots

    Let's explore Go's built-in support for complex numbers via the complex64 and complex128 types. For ...

  4. nyoj 69 数的长度

    数的长度 时间限制:3000 ms  |  内存限制:65535 KB 难度:1   描述 N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出 ...

  5. Modbus调试利器 Modbus Poll

    Modbus Poll是一个非常不错的工具,支持TCP/串口 下载地址:http://pan.baidu.com/share/link?shareid=2880213929&uk=248325 ...

  6. XMPP——Smack[2]会话、消息监听、字体表情和聊天窗口控制

    连接之后,拿到了connection,通过它可以搞定会话 建立一个会话 MessageListener msgListener = new MessageListener() { public voi ...

  7. cas 3.5.2 登录成功后,如何返回用户更多信息?

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  8. ThinkPHP CURD方法盘点:page方法

    page方法也是模型的连贯操作方法之一,是完全为分页查询而诞生的一个人性化操作方法. 用法 我们在前面已经了解了关于limit方法用于分页查询的情况,而page方法则是更人性化的进行分页查询的方法,例 ...

  9. Parse error: syntax error, unexpected T_PUBLIC in 问题解决

    class 类中 public function _getInfo($sn){        $title = '';        $_array = explode('~', $sn);      ...

  10. Codeforces Round #268 (Div. 1) B. Two Sets 暴力

    B. Two Sets Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/468/problem/B ...