[ajax 学习笔记] ajax初试
ajax全称是:asynchronous javasctipt and xml。
1.为什么须要ajax?
一般web程序与server的交互是:页面发送请求等待server处理,server处理数据,用户页面刷新整个页面。从而完毕了一次交互。
假设用这样的同步方式进行多次这样的页面与server的交互,用户将会须要非常多时间去等待server处理。
ajax异步处理的思想是:当页面发送请求后,交给server处理。server处理的同一时候,页面无须等待能够进行其它的操作,当server处理完毕后,在当前页面显示结果,无须刷新整个页面。
2.ajax的简单实现
实现ajax须要用到javascript的XMLHttpRequest对象。
实现过程
1)创建对象(不同浏览器有不同的创建方法,一般须要考虑ie和非ie浏览器)
ie浏览器要用到ActiveXObject。
非ie浏览器可直接新建XMLHttpRequest对象实例。
2)发送请求。
发送请求前须要先建立一个与server的连接。
它须要的參数有发送类型、连接的url、异步连接状态值等。
> 发送类型:GET/POST等。
> url:连接地址 + ? + 传送的值 (+ & + 传送的值..) [这里是用的get方式]
> 异步连接状态值:true / false。
默觉得true。true表示异步连接。
在发送请求前还要建立一个返回函数。它是用来指定server响应后要运行的内容。
发送请求。
3)server响应函数
3.一个简单实例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script>
//var xmlHttp = new XMLHttpRequest();
/*创建XMLHttpRequest对象*/
var xmlHttp = false;
/*@cc_on @*/ //ie条件编译
/*@if (@_javascript_version >= 5)
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e2){
xmlHttp = false;
}
@end @*/
if(!xmlHttp && typeof XMLHttpRequest != 'undefined'){
xmlHttp = new XMLHttpRequest();
} function callServer(){
//获取name和password值
var name = document.getElementById("name").value;
var password = document.getElementById("password").value;
//推断name和password是否为空
if((name == "null") || (name == "")) return ;
if(password == "null" || password == "") return ;
//创建要连接的url
var url = "check.php?name=" + escape(name) + "&password" + escape(password);
//建立一个server的请求
xmlHttp.open("GET", url, true);
//创建server完毕后执行的函数
xmlHttp.onreadystatechange = updatePage;
//发送请求
xmlHttp.send(null);
}
function updatePage(){
if(xmlHttp.readyState == 4){ //http就绪状态
if(xmlHttp.status == 200){ //推断http状态代码
var response = xmlHttp.responseText; //处理server响应
document.getElementById("ajax-result").value = response;
}else if(xmlHttp.status == 404){
alert("Request url does not exist!");
}else{
alert("ERROR:status code is" + xmlHttp.status);
}
}
}
</script>
</head>
<body>
<div id="form">
<form method="get">
name:<input type="text" id="name" onchange="callServer()"/><br>
passwiord:<input type="text" id="password" onchange="callServer()"><br>
result:<input type="text" id="ajax-result"/>
</form>
</div>
</body>
</html>
[ajax 学习笔记] ajax初试的更多相关文章
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- [学习笔记]AJAX学习
AJAX学习 ——在w3cschool学习AJAX的学习笔记 参考网站:w3cschool XMLHttpRequest 是 AJAX 的基础. XMLHttpRequest 对象 所有现代浏览器均支 ...
- Ajax学习笔记demo
AJAX学习 AJAX简介: 全称:Asynchronous JavaScript and XML (JavaScript执行异步网络请求(JS和XML)),通过AJAX可以在浏览器向服务器发送异步请 ...
- 20151207jquery 学习笔记 Ajax
.load()方法是局部方法,因为他需要一个包含元素的 jQuery 对象作为前缀.而$.get()和 $.post()是全局方法,无须指定某个元素.对于用途而言,.load()适合做静态文件的异步获 ...
- aJax学习之Ajax工作原理
转自:http://www.cnblogs.com/mingmingruyuedlut/archive/2011/10/18/2216553.html 在写这篇文章之前,曾经写过一篇关于AJAX技术的 ...
- 基于PHP的AJAX学习笔记(教程)
本文转载自:http://www.softeng.cn/?p=107 这是本人在学习ajax过程所做的笔记,通过本笔记的学习,可以完成ajax的快速入门.本笔记前端分别使用原生态的javascript ...
- ajax学习笔记1
ajax是什么? ajax即“Asynchronous Javascript + XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术.能够快速的从服务器获得所需数据 ...
- Java Script 学习笔记 -- Ajax
AJAX 一 AJAX预备知识:json进阶 1.1 什么是JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON是用字符串来表示Javas ...
- Jquery学习笔记 --ajax删除用户,使用了js原生ajax
主要复习了php的pdo数据库操作,和js的ajax,真麻烦,希望jquery的ajax简单点. index.php: 1 <!DOCTYPE html> 2 <html lang= ...
随机推荐
- mvp 不错的链接
http://www.imooc.com/wenda/detail/216700 http://www.cnblogs.com/mybkn/archive/2012/04/12/2443676.htm ...
- ACM_城市交通线(简单并查集)
城市交通线 Time Limit: 2000/1000ms (Java/Others) Problem Description: A国有n座城市,编号为1~n,这n个城市之间没有任何交通线路,所以不同 ...
- NGinx 负载均衡作用
1.负载均衡介绍: 负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助.其工作模式为将外部发送来的请求均匀分配到对称结构中的 ...
- Jsp页面报错状态码含义
原来,全部在HttpServletResponse接口的字段里 状态码 (),表示一个请求已经被接受处理,但还没有完成. 状态码 (),表明HTTP服务器从一个服务器收到了一个无效的响应,当其作为一 ...
- swift-delegate(代理)或者block传值
1:delegate或者block传值 import UIKit class ViewController: UIViewController,TestDelegatePassValueDelegat ...
- 连接mysql时遇到的问题
1.报错:The server time zone value '???ú±ê×??±??' is unrecognized or represents 解决方法:在jdbc连接的url后面加上ser ...
- 解析python部分常用魔术方法
def __add__(self, *args, **kwargs): # real signature unknown """ Return self+value. & ...
- 【剑指Offer】9、变态跳台阶
题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 解题思路: 当只有一级台阶时,f(1)=1:当有两级台阶时, ...
- 日记——OI历程
学OI也一年多了(2015.12-),一直没学出个像样的东西.相比dalao们,我还是弱爆了. ljj,qyf,yyf三位三区dalao. xxy,myj两位三区学长dalao. 稍微总结一下前一段时 ...
- 57.query phase
主要知识点: query phase步骤 query phase如何提升性能 一.query phase步骤 一次query phase一般包括以下三个步骤 The query pha ...