• Ajax原生使用


    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 (作为转换数据的格式)

    lamp  AJAX应用程序与浏览器和平台无关的!


    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");

  • 相关阅读:
    CodeforcesBeta Round #19 D. Points 离线线段树 单点更新 离散化
    挑战练习题3.3 POJ 2886 Who Gets the Most Candies? 树状数组
    hdu4288 Coder 离线线段树 单点更新 区间求和 离散化?
    zoj 1610 Count the Colors 线段树 区间更新
    51nod 1307 绳子与重物 二分+dfs / 并查集
    51nod 1116 K进制下的大数 暴力/数论
    Wannafly2016-12-27 SPOJ-INTSUB 数学
    C++——Vector
    LEDE Project
    Raspberry Pi 3 with Openwrt
  • 原文地址:https://www.cnblogs.com/livid/p/7479217.html
Copyright © 2020-2023  润新知