码迷,mamicode.com
首页 > Web开发 > 详细

Ajax原生使用

时间:2017-09-05 16:57:30      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:else   dom   样式   status   改变   height   inf   新浪   状态   

 

AJAX 应用

  • 运用XHTML+CSS来表达资讯;

  • 运用JavaScript操作DOM(Document Object Model)来执行动态效果;

  • 运用XML和XSLT操作资料;

  • 运用XMLHttpRequest或新的Fetch API与网页服务器进行异步资料交换;

  • 注意:AJAX与Flash、Silverlight和Java Applet等RIA技术是有区分的。

什么是 AJAX ?

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。

AJAX 不是新的编程语言,而是一种使用现有标准的新方法。

AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。

AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。

AJAX = 异步 JavaScript 和 XML。

AJAX 是一种用于创建快速动态网页的技术。

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。

有很多使用 AJAX 的应用程序案例:新浪微博、Google 地图、开心网等等。

AJAX是基于现有的Internet标准

AJAX是基于现有的Internet标准,并且联合使用它们:

  • XMLHttpRequest 对象 (异步的与服务器交换数据)
  • JavaScript/DOM (信息显示/交互)
  • CSS (给数据定义样式)
  • XML (作为转换数据的格式)

技术分享  AJAX应用程序与浏览器和平台无关的!


AJAX 工作原理

技术分享

一个基本的ajax写法:

function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xmlhttp=new XMLHttpRequest();
}
else
{
// IE6, IE5 浏览器执行代码
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","/try/ajax/ajax_info.txt",true);
xmlhttp.send();
}

 

XMLHttpRequest类的主要属性:
onreadystatechange
readyState
status
responseText

xmlhttp.onreadystatechange与readyState属性有关,当readyState改变时它才会触发。。
readyState状态码如下:
0:请求未初始化(还没有调用 open())。
1:请求已经建立,但是还没有发送(还没有调用 send())。
2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。
3:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。
4:响应已完成;您可以获取并使用服务器的响应了。
状态为0表明open的时候也是会触发onreadystatechange事件的

 

XMLHttpRequest实例化后的对象的主要属性
xmlhttp.open("GET","demo_get2.asp?fname=Bill&lname=Gates",true);
xmlhttp.send();


xmlhttp.open("POST","ajax_test.asp",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Bill&lname=Gates");

Ajax原生使用

标签:else   dom   样式   status   改变   height   inf   新浪   状态   

原文地址:http://www.cnblogs.com/livid/p/7479217.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!