使用 Ajax
Ajax( Asynchronous JavaScript and XML)
在 Ajax 中 Asynchronous 是指异步, 代表 客户端(Client 通常是指浏览器) 可以向服务器(Server) 发出请求 用户无须等待相应。 异步是 Ajax 技术的核心所在。
Ajax 只是一个概念,用来描述 客户端XMLHTTPRequest 与服务器 Server 脚本之间的交互。
Question : 怎样确定何时应该使用 异步技术呢?
你可以这样考虑, 如果你希望 你的用户能在工作的同时 继续做一些处理, 可能就需要一个 异步的请求。
如果你的用户在 继续操作之前需要 从你的应用得到某些信息或者得到一个 相应,那就要让用户等待,通常是一个同步请求。
关于 XMLHTTPRequest :
Ajax 中技术的主要实现 是通过 XMLHTTPRequest 这个对象来实现的, XMLHTTPRequest 是大多数浏览器对 请求对象的 叫法。
1.首先需要认识到的是 XMLHTTPRequest 是一个对象 (object) , 和所有对象一样,也有 属性 (property) 和方法 (method)
eg : onreadystatechange 是XMLHTTPRequest 最重要的属性, 通常把这个属性设置为一个函数名把这个函数称为 回调函数(callback function)
request.onreadystatechange = function_name; 此处是 函数引用 而不是 函数调用, 我们使用回调函数处理服务器返回的数据。
2.然后,在各种浏览器中 XMLHTTPRequest 对象的实例化和处理方法是不同的,浏览器通过把 XMLHTTPRequest 发送到服务器
并且从服务器得到相应(Response)而且无需加载整个页面。
function createRequest() {
try {
request = new XMLHttpRequest();
} catch (tryMS) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (otherMS) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = null;
}
}
}
return request;
}
你可以通过 自定义的 createRequest() 创造一个各种浏览器通用的request.
建立 Ajax 请求的基本过程:
1. 得到一个请求对象(XMLHTTPRequest), 我们可以用过上述方法 createRequest() 来得到这个对象的一个实例(instance),如果不支持 Ajax 会返回null
2. 配置请求对象 XMLHTTPRequest 的属性,(例如要 连接哪个 URL, 使用 GET or POST)需要在向服务器 发出请求之前完成所有这些配置。
3. 设置回调函数, request.onreadystatechange = function_name; 告诉浏览器当服务器返回响应的时候应该做什么
4. 发出请求。
使用 Ajax的更多相关文章
- jQuery之ajax实现篇
jQuery的ajax方法非常好用,这么好的东西,你想拥有一个属于自己的ajax么?接下来,我们来自己做一个简单的ajax吧. 实现功能 由于jq中的ajax方法是用了内置的deferred模块,是P ...
- Ajax及跨域
概念 Ajax Ajax,Asynchronous JavaScript and XML,字面意思:异步的 JavaScript 和 XML,是指一种创建交互式网页应用的网页开发技术. 用于异步地去获 ...
- 一个粗心的Bug,JSON格式不规范导致AJAX错误
一.事件回放 今天工作时碰到了一个奇怪的问题,这个问题很早很早以前也碰到过,不过没想到过这么久了竟然又栽在这里. 当时正在联调一个项目,由于后端没有提供数据接口,于是我直接本地建立了一个 json ...
- ABP文档 - Javascript Api - AJAX
本节内容: AJAX操作相关问题 ABP的方式 AJAX 返回信息 处理错误 HTTP 状态码 WrapResult和DontWrapResult特性 Asp.net Mvc 控制器 Asp.net ...
- ajax异步请求
做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...
- 调用AJAX做登陆和注册
先建立一个页面来检测一下我们建立的用户名能不能用,看一下有没有已经存在的用户名吗 可以通过ajax提示一下 $("#uid").blur(function(){ //取用户名 va ...
- Ajax 概念 分析 举例
Ajax是结合了访问数据库,数据访问,Jquery 可以做页面局部刷新或者说是页面不刷新,我可以让页面不刷新,仅仅是数据的刷新,没有频繁的刷页面,是现在比较常用的一种方式做页面那么它是怎么实现页面无刷 ...
- ajax
常见的HTTP状态码状态码:200 请求成功.一般用于GET和POST方法 OK301 资源移动.所请求资源移动到新的URL,浏览器自动跳转到新的URL Moved Permanently304 未修 ...
- 学习笔记之MVC级联及Ajax操作
由于刚转型到MVC,MVC的架构模式很多不是很清楚,比如今天就想做个级联的操作,因为之前的ASP.NET的方式是通过:控件-->添加事件-->后台编写级联事件进行触发,但是这个MVC就不同 ...
- javascript表单的Ajax 提交插件的使用
Ajax 提交插件 form.js 表单的下载地址:官方网站:http://malsup.com/jquery/form/ form.js 插件有两个核心方法:ajaxForm()和ajaxSubmi ...
随机推荐
- check_mk 之 Check Parameters
配置检测参数有几下方法 1. Creating manual checks instead of inventorized checks (using the variable checks). 2. ...
- JavaScript基础:字符串转换函数——String()和toString()
1..toString()可以将所有的的数据都转换为字符串,但是要排除null 和 undefined 例如将false转为字符串类型 <script> var str = false ...
- Python基础学习之标识符
1.合法的Python标识符 Python标识符字符串规则和其他大部分用C编写的高级语言相似: 第一个字符必须是字母或下划线(_) 剩下的字符可以是字母和数字或下滑线 大小写敏感 标识符不能以数字开头 ...
- Microsoft EDP(enterprise database protection)选择应用程序在哪里可以访问企业数据
在配置策略时,对Rule template设置完成后,添加corporate identity.关于corporate identity, 目前没有什么好的理解,翻译过来就是“公司标识”,我也理解不了 ...
- ring0 暴力枚举进程
原理:遍历进程ID,然后openprocess,能打开的都枚举出来 ring0 : #include "EnumProcessByForce.h" extern char* PsG ...
- [原创][Windows] Win7安装visual c++ 2015 redistributable x64失败
在win7中安装visual c++ 2015 redistributable x64 时会卡住,原因是visual c++ 2015 redistributable x64 需要KB2999226, ...
- 《转化:提升网站流量和转化率的技巧》:结合市场营销六阶段理论,以SEM为手段,提高网站转化率的技巧
全书结合市场营销的六阶段理论,讲述各阶段的营销方面的要点和网站上吸引访客的技巧.举了一些例子,列举了一些工具.当然都是美国市场中的例子和网站优化的工具. 没有太多的新意.没看过相关图书的可以看看.
- Spring是如何管理Bean
容器是什么?spring中是如何体现的?一直有疑惑,这两天看了一下Spring管理bean的Demo,对于Spring中的容器有了简单的认识. 我们知道,容器是一个空间的概念,一般理解为可盛放物体的地 ...
- Java 执行系统命令工具类(commons-exec)
依赖jar <!-- 可以在JVM中可靠地执行外部进程的库. --> <dependency> <groupId>org.apache.commons</gr ...
- matlab所需插件
1