Ajax学习笔记(1)
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);
| 参数名称 | 类型 | 说明 |
| 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)的更多相关文章
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- Ajax学习笔记demo
AJAX学习 AJAX简介: 全称:Asynchronous JavaScript and XML (JavaScript执行异步网络请求(JS和XML)),通过AJAX可以在浏览器向服务器发送异步请 ...
- 基于PHP的AJAX学习笔记(教程)
本文转载自:http://www.softeng.cn/?p=107 这是本人在学习ajax过程所做的笔记,通过本笔记的学习,可以完成ajax的快速入门.本笔记前端分别使用原生态的javascript ...
- ajax学习笔记1
ajax是什么? ajax即“Asynchronous Javascript + XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术.能够快速的从服务器获得所需数据 ...
- AJAX学习笔记
AJAX不是一种编程语言,AJAX是一种实现网页异步加载的技术,即不刷新网页也能部分的更新网页的内容.如:提交表单信息,通过ajax可以不刷新页面来使得人们明白如何正确的填写信息,判断填写信息的错误或 ...
- Jquery ajax 学习笔记
本人的js & jq 一直是菜鸟级别,最近不忙就看了看ajax方面的知识,文中部分内容参考自这里&这里 之前一直用js写ajax现在基于jq实现方便多了~ $.get & $. ...
- Ajax学习笔记2之使用Ajax和XML
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Using Ajax wit ...
- Ajax学习笔记1之第一个Ajax应用程序
代码 <head> <title>An Ajax demo</title> <script src="../js/jquery-1.4.1.js&q ...
- Ajax学习笔记(二)
二.prototype库具体解释 1.prototype库的使用 //导入下载好的prototype.js文件 <script type="text/javascript" ...
- ajax学习笔记(原生js的ajax)
ajax是一个与服务器端语言无关的技术,可以使用在任何语言环境下的web项目(如JSP,PHP,ASP等). ajax优点: 1) 页面无刷新的动态数据交互 2) 局部刷新页面 3) 界面的美观 4) ...
随机推荐
- HDU 4283 You Are the One (12年天津 区间DP)
题意:有一个队列,每个人有一个愤怒值a[i],如果他是第k个上场,不开心指数就为(k-1)*a[i].但是边上有一个小黑屋(其实就是个堆栈),可以一定程度上调整上场程序 思路:枚举区间和每个人第几个上 ...
- javascript设计模式8
桥接模式(将抽象与其实现隔离开来,以便二者独立变化) function sendInfo(element){ var id=element.id; ajax("GET"," ...
- linux产生静态库和动态库
如何构建一个库 静态库(.a) 静态库的建立和使用是非常简单的: 1. 编译源文件:gcc -Wall -c test1.c test2.c 2. 生成库文件:ar -cvq libtest.a 3. ...
- CSS样式表优先级
使用CSS样式表一共有2种方式:内部和外部,其中内部分为行内样式和嵌入式,外部分为导入式和链接式. 如果需要在不同的方式中设定同一个属性的时候,样式的优先级别就出现了. 测试代码如下: red.css ...
- Java深度遍历文件夹(递归实现)
package FileDemo; import java.io.File; public class DeepSearchDir { /** * @param args */ public stat ...
- PT100测温电路经验
P100电压采集放大电路:前半部分是4.096V恒压源电路,然后是一个桥式电压采样电路,后面是一个电压放大电路. 一 4.096V恒压源电路: 因Vref = 2.5V,故有4.096 = (1 + ...
- jquery插件封装思路整理
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- git安装教程
msysgit是Windows版的Git,从https://git-for-windows.github.io下载(网速慢的同学请移步国内镜像),然后按默认选项安装即可. 安装完成后,在开始菜单里找到 ...
- 在线性级别时间内找出无序序列中的第k个元素
在一个无序序列中找出第k个元素,对于k很小或者很大时可以采取特殊的方法,比如用堆排序来实现 .但是对于与序列长度N成正比的k来说,就不是一件容易的事了,可能最容易想到的就是先将无序序列排序再遍历即可找 ...
- 一、FreeMarker 模版开发指南 第一章 入门
所有资料来自 南磊 翻译的官方文档,我弄简单了,适合自己以后拿出来翻看. 章节内容如下: 简介 模板+数据模型=输出 数据模型一览 模板一览 一.模板 + 数据模型 = 输出 输出结果: &l ...