zoukankan      html  css  js  c++  java
  • 《Ajax基础教程》

    创建XMLHttpRequest对象的一个实例(只需要检测浏览器是否支持ActiveX控件)
        var xmlHttp;
        function createXMLHttpRequest()
        {
            if(window.ActiveXObject)
            {
                xmlHttp = new ActiveXObject("Microsoft.XMLHttp");
            }
            else if(window.XMLHttpRequest)
            {
                xmlHttp = new XMLHttpRequest();
            }
        }

    XMLHttpRequest不能请求脚本所在域之外的资源

    XMLHttpRequest将请求发送给服务器
        XMLHttpRequest对象的send()方法把请求发送到指定的目标资源。send()方法接受一个参数,通常是一个串或一个DOM对象。这个参数作为请求体的一部分发送到目标URL。当向send()方法提供参数时,要确保open()中指定的方法是POST。 如果没有数据作为请求体的一部分被发送,则使用null。

        一般情况下,使用Ajax提交的参数多是些简单的字符串,可以直接使用GET方法将要提交的参数写到open方法的url参数中,此时send方法的参数为null。

        例如 :
                     var url = "login.jsp?user=XXX&pwd=XXX";
                     xmlHttpRequest.open("GET",url,true);
                     xmlHttpRequset.send(null);
       
        此外,也可以使用send方法传递参数。使用send方法传递参数使用的是POST方法,需要设定Content-Type头信息,模拟HTTP POST方法发送一个表单,这样服务器才会知道如何处理上传的内容。参数的提交格式和GET方法中url的写法一样。设置头信息前必须先调用open方法。
       
        例如:
                    xmlHttpRequest.open("POST","login.jsp",true);
                    xmlHttpRequest.setRequestHeder("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
                    xmlHttpRequest.send("user="+username+"&pwd="+password);
       
        需要注意的是根据提交方式的不同,两种提交方式分别调用后台的doGet方法和doPost方法。

    在请求URL时加上时间戳的好处:
        在有些情况下某些浏览器会把XMLHttpRequest请求的结果缓存在同一个URL上.但是实际上虽然对相同URL的请求在不同时间也会有不同的结果.当把时间戳追加到URL的最后,就能够确保URL的唯一性,从而避免浏览器缓存结果.

    利用XMLHttpRequest的post方法可以在请求体中发送各种内容(XML,二进制数据)

    使用JSON来传输数据.JSON是一种文本格式,独立于具体语言,可以将数据结构进行序列化.


    最佳实践 :在客户端编写的每一个验证例程都必须在服务器上以某种方式重写,因为用户可能禁用javascript.

    读取相应头部
        某些情况下我们只想读取服务器发出的响应首部,而忽略内容。,完成这样一个请求的标准做法是使用HEAD请求,而不是前面讨论的GET或POST请求。当服务器对HEAD请求做出响应时,它只发送响应首部而忽略内容,即使可以向浏览器返回所请求的内容,也不会真的把内容返回。由于忽略了内容,对HEAD请求的响应比对GET或POST的响应就小得多。
        通过读取响应首部,可以得出Content-Type(内容类型)、Content-Length
    (内容长度),甚至Last-Modified(最后一次修改)的日期。
        实现方式:在Open的第一个参数设定为"HEAD".xmlHttp.open("HEAD",url,true);
        getAllResponseHeaders()方法的用途很有限,因为它把所有响应首部放在一起作为串返回。要想使用getAllResponseHeaders()方法来获取单个的响应首部,就需要解析返回的串,查找所关注的响应首部。
        getResponseHeader方法可以通过只返回一个响应首部的值解决这个问题。这个方
    法取一个串参数,该参数表示所需响应首部的名字(就是你想得到这个响应首部
    的值)。

    火狐工具
        HTML Validator 查找并标志出HTML页面上的错误
        webdeveloper
        Greasemonkey
        Venkman
    其他工具
        JSLint(网页) 完成JavaScript语法检查
        JSUnit(javascript单元测试) 用于测试JavaScript。

    AJAX框架

        qooxdoo,jQuery,Mootools,Dojo,Ext JS

    No1—Prototype
    No2—Dojo
    No3—Mootools
    No4—JQuery
    No5—Dwr
    No6—Buffalo
    No7—Yui
    No8—Ext
    No9—Qooxdoo
    No10—Spry

    谁是你心目中最优秀的Ajax框架?--CSDN专题

  • 相关阅读:
    让linux下的eclipse支持GBK编码
    Ubuntu 14.04 安装深度音乐的方法(下载速度极慢未成功)
    wine使用
    Sql语句查看表结构
    读数据库所有表和表结构的sql语句
    详解软件工程之软工文档
    浅谈UML的概念和模型之UML九种图
    HTML5 file api读取文件的MD5码工具
    Sublime Text 3 快捷键汇总
    领域驱动设计系列文章汇总
  • 原文地址:https://www.cnblogs.com/dongzhiquan/p/1994543.html
Copyright © 2011-2022 走看看