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) ...
随机推荐
- hdoj 2817 A sequence of numbers【快速幂】
A sequence of numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- hdoj 5194 DZY Loves Balls【规律&&gcd】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5194 题意:给你n个黑球,m个白球,每次从中随机抽取一个,如果抽到黑球记为1如果抽出来白球记为0,让你 ...
- 新浪新闻API接口
头条 http://api.sina.cn/sinago/list.json?channel=news_toutiao推荐 http://api.sina.cn/sinago/list.json?ch ...
- Servlet+Tomcat 界面登录
1.文件夹建立(必须按照这个规范,文件名和文件夹名必须一致) a.在%TOMCAT_HOME%\webapps下建立一个文件夹,取名MyWebsit b.在MyWebsit文件夹下新建WEB_INF文 ...
- 转:SQL Server 批量插入数据的两种方法
在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题.下面介绍SQL Server支持的两种批量 ...
- 【数据结构】非常有用的hash表
这篇博客的目的是让尚未学会hash表的朋友们对hash表有一个直观的理解,并且能根据本文定义出属于自己的第一个hash表,但算不上研究文,没有深究概念和成功案例. 什么是has ...
- android studio简易了解第二部分
1.新建Moudle(eclispe的项目) 其余的和eclipse差不多,一般情况一直next就可以了! 如果选择New Project会重新打开一个AS.一个AS只会有一个Project(ecli ...
- SQLMAP实用实例(转)
sqlmap使用笔记:http://wenku.baidu.com/view/8c507ffcaef8941ea76e055e.html BT5下使用SQLMAP入侵加脱裤:http://www.m ...
- 对PostgreSQL xmin的深入学习
当PostgreSQL需要insert 一条记录的时候,它会把记录头放入xmin,xmax等字段. xmin的值,就是当前的Transaction的TransactionId.这是为了满足MVCC的需 ...
- JS 添加千分位,测试可以使用
JS 添加千分位,测试可以使用 <script language="javascript" type="text/javascript">funct ...