Ajax通讯原理XMLHttpRequest
显然AJax就是利用JavaScript脚本访问数据的一种技术。
AJAX 使网页实现异步更新。这就是在不重新加载整个网页的情况下,对网页进行局部更新。
XMLHttpRequest 是 AJAX 的关键
现在浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。
向后台请求数据readyState有五个状态0:服务器未初始化,1:服务器连接已建立,2请求已接受收,3请求处理中,4请求完成。
每改变一次状态都好触发一次onreadystatechange 事件,status有两个状态:200:“OK”,404:“未找到页面”
下面看一段Ajax前台实现代码:
代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function getName(){
var xmlhttp;
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
alert("你好:"+xmlhttp.responseText);
}
}
xmlhttp.open("post","Default.aspx?id=gname",true);
xmlhttp.send();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div> <input id="Button1" type="button" value="button" onclick="getName()" /></p>
</div>
</form>
</body>
</html>
protected void Page_Load(object sender, EventArgs e)
{
if (Request["id"]!=null)
{
Response.Write("张三");
Response.End();
}
}
执行结果:如下图
下载附件代码 下一次我们看看Jquery是怎么异步请求数据的
相关推荐
-
jQuery的实现原理的模拟代码 -5 Ajax
复制代码 代码如下: // 创建 XHR 对象 var xhr; if (window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else if (window.ActiveXObject) { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } else { throw new Error("Ajax is not supported by this browser");
-
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
很庆幸,我又见到了末日后新升的太阳,所以我还能在这里写文章,言归正传哈,最近做了一个项目,需要用子域名调用主域名下的一个现有的功能,于是想到了用jsonp来解决,在我们平常的项目中不乏有这种需求的朋友,于是记录下来以便以后查阅同时也希望能帮到大家. 什么是JSONP协议? JSONP即JSON with Padding.由于同源策略的限制,XmlHttpRequest只允许请求当前源(域名.协议.端口)的资源.如果要进行跨域请求,我们可以通过使用html的script标记来进行跨域请求,并在响应
-
利用iframe实现ajax跨域通信的实现原理(图解)
在漫长的前端开发旅途上,无可避免的会接触到ajax,而且一般情况下都是用在同一域下的ajax请求:但是如果请求是发生在不同的域下,请求就无法执行,并且会抛出异常提示不允许跨域请求,目前我没有找到明确的资料说明这是为什么,我觉得应该是出于安全性的考虑吧.纵然如此,要实现跨域访问的话,方法还是有的,而且不只一种,在这里介绍其中一种解决方案:如何利用iframe完成ajax的跨域请求. 如下图所示:域a.com的页面request.html(即http://a.com/request.html)里面嵌
-
Ajax二级联动菜单实现原理及代码
index.jsp: 复制代码 代码如下: <%@ page language="java" pageEncoding="UTF-8"%> <html> <head> <title>二级菜单联动演示</title> <script type="text/javascript"> var req; window.onload=function() {//页面加载时的函数 } f
-
JQuery的Ajax跨域请求原理概述及实例
今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发 JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式.分别是JQuery的 jquery.ajax jsonp格式和jquery.getScript方式. 什么是jsonp格式呢?API原文:如果获取的数据文件存放在远程服务器上(域名不同,也就是跨域获取数据),则需要使用jsonp类型.
-
浅析Ajax的 原理及优缺点
1.ajax技术的背景 不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth.google suggest以及gmail等对ajax技术的广泛应用,催生了ajax的流行.而这也让微软感到无比的尴尬,因为早在97年,微软便已经发明了ajax中的关键技术,并且在99年IE5推出之时,它便开始支持XmlHttpRequest对象,并且微软之前已经开始在它的一些产品中应用ajax,比如说MSDN网站菜单中的一些应用.遗憾的是,不知道出于什么想法,当时微软发明了aja
-
ajax原理总结附简单实例及其优点
在工作中用了Ajax N多次了,也看过一些相关方面的书籍,也算是认识了它,但是一直没有认真总结和整理过相关的东东,失败! 近有闲情,将之总结如下: [名称] Ajax是Asynchronous JavaScript and XML(以及 DHTML 等)的缩写. 详情请移步Ajax: A New Approach to Web Applications [原理] 简单一些,就是通过使用XmlHttpRequest对象向服务器发送异步请求,获取返回的数据,并使用Javascript和DOM操作页面
-
Ajax的内部实现机制、原理与实践小结
一.Ajax是什么 AJAX全称为"Asynchronous JavaScript and XML"(异步JavaScript和XML),Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术.作为创建交互式网页应用的网页开发技术,它有以下特点: 使用XHTML+CSS来表示信息 使用JavaScript操作DOM(Document Object Model)进行动态显示及交互 使用XML和XSLT进行数据交换及相关操作 使用XMLHttp
-
AJAX工作原理及优缺点详解
AJAX 是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 一.ajax所包含的技术 大家都知道ajax并非一种新的技术,而是几种原有技术的结合体.它由下列技术组合而成. 使用CSS和XHTML来表示. 使用DOM模型来交互和动态显示. 使用XMLHttpRequest来和服务器进行异步通信. 使用javascript来绑定和调用. 在上面几中技术中,除了XmlHttpReq
-
Ajax通讯原理XMLHttpRequest
显然AJax就是利用JavaScript脚本访问数据的一种技术. AJAX 使网页实现异步更新.这就是在不重新加载整个网页的情况下,对网页进行局部更新. XMLHttpRequest 是 AJAX 的关键 现在浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject). 向后台请求数据readyState有五个状态0:服务器未初始化,1:服务器连接已建立,2请求已接受收,3请求处理中,4请求完成. 每改变一次状态都好触发一次onreadystatec
-
AJAX的原理—如何做到异步和局部刷新【实现代码】
Overriew: onReadyStateChange被回调函数赋值,则能实现异步调用,回调函数直接操作DOM,则能实现局部刷新.那么XMLHttpRequest的onReadyStateChange如何知道服务ready了呢?状态如何change了呢(观察者模式)?则是通过客户端对服务的状态询问(定期轮询)所实现的. 详解: 1. XMLHttpRequest 负责与服务器端的通讯,其内部有很多重要的属性:readyStatus=4,status=200等等.当XMLHttpRequest
-
Ajax工作原理深入理解
1.ajax技术的背景 不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth.google suggest以及gmail等对ajax技术的广泛应用,催生了ajax的流行.而这也让微软感到无比的尴尬,因为早在97年,微软便已经发明了ajax中的关键技术,并且在99年IE5推出之时,它便开始支持XmlHttpRequest对象,并且微软之前已经开始在它的一些产品中应用ajax,比如说MSDN网站菜单中的一些应用.遗憾的是,不知道出于什么想法,当时微软发明了aja
-
vue ajax 拦截原理与实现方法示例
本文实例讲述了vue ajax 拦截原理与实现方法.分享给大家供大家参考,具体如下: 概要说明 在开发的过程中,我们需要通过AJAX请求,访问后台获取数据,这个获取数据的时候,当然需要后台需要时登录状态才能访问数据,当没有登录的情况,这个时候我们需要跳转到登录界面进行登录. 如果每次请求都要做如下处理,我们程序逻辑将无比混乱,ajax 可以为我们解决这个问题. 具体实现思路是: 1.发送ajax 请求访问后端数据. 2.后端如果发现没有登录,那么将会丢出一个exceptionaction 的ht
-
使用Ajax技术通过XMLHttpRequest对象完成首页登录功能
最近使用Ajax技术通过XMLHttpRequest对象完成一个首页的登录功能! 代码如下: <script type="text/javascript"> //创建XMLHttpRequest对象 function createXMLHttpRequest(){ if(window.XMLHttpRequest){ return xmlhttprequest=new XMLHttpRequest(); }else{ return xmlhttprequest=new Ac
-
关于Ajax技术原理的3点总结
ajax:Asynchronous Javascript and XML 异步Javascript 和XML. 是一种创建交互式网页应用的网页开发技术. 1.0 优势: 1.1 通过异步模式,提升了用户体验. 1.2 优化了浏览器与服务器之间的传输,减少了不必要的数据往返,减少了带宽占用. 1.3 Ajax引擎在客户端运行,承担了一部分本来由服务器承担的共组,从而减少了大用户量下的服务器负载. 2.0 工作原理 Ajax核心是Javascrip
-
图文解析AJAX的原理
先上原理图: 背景: 1.传统的Web网站,提交表单,需要重新加载整个页面. 2.如果服务器长时间未能返回Response,则客户端将会无响应,用户体验很差. 3.服务端返回Response后,浏览器需要加载整个页面,对浏览器的负担也是很大的. 4.浏览器提交表单后,发送的数据量大,造成网络的性能问题. 问题: 1.如何改进? 2.AJAX是什么? 3.有什么优势? 4.有什么缺点? 一.什么是 AJAX 1.为什么需要AJAX 当需要从服务器获取数据,并刷新页面的操作,如果不采用AJAX,则需
-
关于Ajax的原理以及代码封装详解
前言 其实AJAX内部实现并不麻烦,主要通过一个叫XMLHttpRequest的对象,而这个对象在现有的浏览器均被支持. 可以说,它是整个AJAX实现的基础,是浏览器用于后台与服务器交换数据的对象,有了它,才有了AJAX,也便有了部分页面刷新的艺术! 本文主要给大家介绍了关于Ajax原理以及代码封装的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 示例代码 var xmlhttp; if (window.XMLHttpRequest) { // code for IE
随机推荐
- Erlang编程语言的第一印象
- asp简单的ajax留言板
- 看了就知道什么是JSON
- java中equals和等号(==)的区别浅谈
- Java 将文件转为字节数组知识总结及实例详解
- c#入门之分支语句使用方法(三元运算符、if语句、switch语句)
- c++连接mysql数据库的两种方法(ADO连接和mysql api连接)
- 在ASP.NET 2.0中操作数据之二十九:用DataList和Repeater来显示数据
- JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
- python制作小说爬虫实录
- Sublime Text 3 实现C++代码的编译和运行示例
- D3.js中data(), enter() 和 exit()的问题详解
- js取float型小数点后两位数的方法
- C#中lock用法详解
- java实现微信公众平台自定义菜单的创建示例
- javascript下判断一个对象是否具有指定名称的属性的的代码
- Nginx中的Gzip压缩配置介绍
- 详细分析Apache安装设置全流程
- C# listview 点击列头排序的实例
- C#实现Ping的方法小结