《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专题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当你看到本书时,可能已经了解在应用中实现当你看到本书时,可能已经了解在应用中实现 当你看到本书时,可能已经了解在应用中实现 当你看到本书时,可能已经了解在应用中实现当你看到本书时,可能已经了解在应用中实现 当你看到本书时,可能已经了解在应用中实现 当你看到本书时,可能已经了解在应用中实现当你看到本书时,可能已经了解在应用中实现当你看到本书时,可能已经了解在应用中实现 Ajax所需的大多数技术。重申一句,我 所需的大多数技术。重申一句,我 所需的大多数技术。重申一句,我所需的大多数技术。重申一句,我所需的大多数技术。重申一句,我所需的大多数技术。重申一句,我所需的大多数技术。重申一句,我所需的大多数技术。重申一句,我们想强调的是, 们想强调的是, 们想强调的是, Ajax是一个客户端技术,不论你现在使用 何种服务器都能是一个客户端技术,不论你现在使用何种服务器都能是一个客户端技术,不论你现在使用 何种服务器都能是一个客户端技术,不论你现在使用 何种服务器都能是一个客户端技术,不论你现在使用 何种服务器都能是一个客户端技术,不论你现在使用 何种服务器都能是一个客户端技术,不论你现在使用 何种服务器都能Ajax,而不管使用的是 Java、.NET、Ruby、PHP还是 CGI。实际上,在这本书中我们并不 。实际上,在这本书中我们并不。实际上,在这本书中我们并不。实际上,在这本书中我们并不。实际上,在这本书中我们并不 考虑服务器端,而且假设你已经很清楚如何结合日常工作中使用的 技术。在后面考虑服务器端,而且假设你已经很清楚如何结合日常工作中使用的 技术。在后面考虑服务器端,而且假设你已经很清楚如何结合日常工作中使用的 技术。在后面考虑服务器端,而且假设你已经很清楚如何结合日常工作中使用的技术。在后面考虑服务器端,而且假设你已经很清楚如何结合日常工作中使用的 技术。在后面考虑服务器端,而且假设你已经很清楚如何结合日常工作中使用的技术。在后面考虑服务器端,而且假设你已经很清楚如何结合日常工作中使用的技术。在后面考虑服务器端,而且假设你已经很清楚如何结合日常工作中使用的 技术。在后面考虑服务器端,而且假设你已经很清楚如何结合日常工作中使用的技术。在后面考虑服务器端,而且假设你已经很清楚如何结合日常工作中使用的 技术。在后面考虑服务器端,而且假设你已经很清楚如何结合日常工作中使用的 技术。在后面考虑服务器端,而且假设你已经很清楚如何结合日常工作中使用的 技术。在后面考虑服务器端,而且假设你已经很清楚如何结合日常工作中使用的 技术。在后面几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到 几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到 几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到 几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到 几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到 几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到 几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到 几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到几百页中,我们强调的重点是客户端技术和方法创建丰富基于浏览器应用时需要到 这些技术。这些技术。这

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值