zoukankan      html  css  js  c++  java
  • AJAX-基础-1

    概述

    AJAX = Asynchronous JavaScript And XML(异步 JavaScript 及 XML)

    AJAX 是 Asynchronous JavaScript And XML 的首字母缩写。

    AJAX 并不是一种新的编程语言,而仅仅是一种新的技术,它可以创建更好、更快且交互性更强的 web 应用程序。

    AJAX 使用 JavaScript 在 web 浏览器与 web 服务器之间来发送和接收数据。

    通过在幕后与 web 服务器交换数据,而不是每当用户作出改变时重载整个 web 页面,AJAX 技术可以使网页更迅速地响应。

    AJAX 基于以下开放的标准:

    • JavaScript
    • XML
    • HTML
    • CSS

    在 AJAX 中使用的开放标准被良好地定义,并得到所有主要浏览器的支持。AJAX 应用程序独立于浏览器和平台。(可以说,它是一种跨平台跨浏览器的技术)。

    优点

    AJAX 事关更好的 Internet 应用程序

    与桌面应用程序相比,Web 应用程序有很多优势:

    • 可拥有更多用户
    • 更容易安装和维护
    • 更容易开发

    但是, 应用程序不总是象传统应用程序那样强大和友好。

    通过 AJAX,可以使 Internet 应用程序更加强大(更轻巧、更快速,且更易使用)。

    简介

    AJAX 使用 XML 和 HTTP 请求

    传统的 web 应用程序会把数据提交到 web 服务器(使用 HTML 表单)。在 web 服务器把数据处理完毕之后,会向用户返回一张完整的新网页。

    由于每当用户提交输入,服务器就会返回新网页,传统的 web 应用程序往往运行缓慢,且越来越不友好。

    通过 AJAX,web 应用程序无需重载网页,就可以发送并取回数据。完成这项工作,需要通过向服务器发送 HTTP 请求(在幕后),并通过当服务器返回数据时使用 JavaScript 仅仅修改网页的某部分。

    一般使用 XML 作为接收服务器数据的格式,尽管可以使用任何格式,包括纯文本。

    您将在本教程接下来的章节学习到如何完成这些工作。

    PHP 和 AJAX

    不存在什么 AJAX 服务器。

    AJAX 是一种在浏览器运行的技术。它使用浏览器与 web 服务器之间的异步数据传输,使网页从服务器请求少量的信息,而不是整张页面。

    AJAX 是一种独立于 web 服务器软件的 web 浏览器技术。

    使用

    XMLHttpRequest

    XMLHttpRequest 对象是 AJAX 的关键。

    该对象在 Internet Explorer 5.5 与 2000 年 7 月发布之后就已经可用了,但是在 2005 人们开始讨论 AJAX 和 Web 2.0 之前,这个对象并没有得到充分的认识。

    XMLHttpRequest 对象是 AJAX 的关键.

    创建 XMLHttpRequest 对象

    不同的浏览器使用不同的方法来创建 XMLHttpRequest 对象。

    Internet Explorer 使用 ActiveXObject。

    其他浏览器使用名为 XMLHttpRequest 的 JavaScript 内建对象。

    要克服这个问题,可以使用这段简单的代码:

    var XMLHttp=null
    if (window.XMLHttpRequest)
      {
      XMLHttp=new XMLHttpRequest()
      }
    else if (window.ActiveXObject)
      {
      XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
      }
    /*代码解释:
    首先创建一个作为 XMLHttpRequest 对象使用的 XMLHttp 变量。把它的值设置为 null。
    然后测试 window.XMLHttpRequest 对象是否可用。在新版本的 Firefox, Mozilla, Opera 以及 Safari 浏览器中,该对象是可用的。
    如果可用,则用它创建一个新对象:XMLHttp=new XMLHttpRequest()
    如果不可用,则检测 window.ActiveXObject 是否可用。在 Internet Explorer version 5.5 及更高的版本中,该对象是可用的。
    如果可用,使用它来创建一个新对象:XMLHttp=new ActiveXObject()
    */
    /*
    下面的例子试图加载微软最新版本的 "Msxml2.XMLHTTP",在 Internet Explorer 6 中可用,如果无法加载,则后退到 "Microsoft.XMLHTTP",在 Internet Explorer 5.5 及其后版本中可用。
    */
    function GetXmlHttpObject()
    {
    var xmlHttp=null;
    
    try
     {
     // Firefox, Opera 8.0+, Safari
     xmlHttp=new XMLHttpRequest();
     }
    catch (e)
     {
     // Internet Explorer
     try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
     catch (e)
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
     }
    return xmlHttp;
    }
    /*
    代码解释:
    首先创建用作 XMLHttpRequest 对象的 XMLHttp 变量。把它的值设置为 null。
    按照 web 标准创建对象 (Mozilla, Opera 以及 Safari):XMLHttp=new XMLHttpRequest()
    按照微软的方式创建对象,在 Internet Explorer 6 及更高的版本可用:XMLHttp=new ActiveXObject("Msxml2.XMLHTTP")
    如果捕获错误,则尝试更老的方法 (Internet Explorer 5.5) :XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")*/
    
  • 相关阅读:
    Linux搭建iscsi服务,客户端(Linux&Win XP)挂载使用
    SecucreCRT安装与破解
    最全的HCIA-R&S实验笔记
    AtCoder Grand Contest 036
    Comet OJ CCPC-Wannafly & Comet OJ 夏季欢乐赛(2019)
    2019慈溪集训小记
    Codeforces Round #573 (Div. 1)
    Comet OJ
    Codeforces Round #576 (Div. 1)
    Codechef August Challenge 2019 Division 2
  • 原文地址:https://www.cnblogs.com/fengzzi/p/10045285.html
Copyright © 2011-2022 走看看