Ajax类库需要注意的问题

构建Ajax类库时,注意四步就可以了:

1:创建Ajax  对象

2:链接服务器

3:发送请求

4:返回响应

下面是我自己写的一个Ajax类库:

function  ajax(url,fnn,fai)
{
//1:创建ajax对象
var oAjax=null;
if(window.XMLHttpRequest)----这里由于没有XMLHttpRequest这个东西,所以会报错,但加上window后,相当于window的一个属性。
{
oAjax=new XMLHttpRequest();
}
else
{
oAjax=new ActiveXObject("Microsoft.XMLHTTP");
}
//2:链接服务器open(方法,URL,是否异步)
oAjax.open(‘GET‘,url,true);
//3:发送请求
oAjax.send();
//4:接受返回
oAjax.onreadystatechange=function()
{
if(oAjax.readyState==4)
{
if(oAjax.status==200)
{
fnn(oAjax.responseText);
}
else
{
if(fai)
{
fai();
}
}
}
};
}

需要注意一下浏览器的问题:

IE6以上:

    • XMLHttpRequest() 来创建Ajax对象
    • IE6:
      • ActiveXObject("Microsoft.XMLHTTP")来创建对象
    • 2:Ajax请求状态控制有以下集中情况:
      • onreadystatechange事件

      –readyState属性:请求状态

      »0  (未初始化)还没有调用open()方法

      »1  (载入)已调用send()方法,正在发送请求

      »2  (载入完成)send()方法完成,已收到全部响应内容

      »3  (解析)正在解析响应内容

      »4  (完成)响应内容解析完成,可以在客户端调用了

      –status属性:请求结果

      –responseText:即返回URL中的结果。

时间: 2024-10-24 16:00:51

Ajax类库需要注意的问题的相关文章

Ajax类库及使用方法

1 function Ajax(recvType){ 2 var aj=new Object(); 3 aj.recvType=recvType ? recvType.toUpperCase() : 'HTML' //HTML XML 4 aj.targetUrl=''; 5 aj.sendString=''; 6 aj.resultHandle=null; 7 aj.createXMLHttpRequest=function(){ 8 var request=false; 9 //window

Ajax实现无刷新分页

注:本文中使用到的一些类库在前面文章都能找到源代码,我会在文中指明链接所在,为了缩短文章篇幅,由此带来的阅读不便,敬请谅解. 本文讲解 Ajax 实现无刷新分页.实现原理.代码展示.代码下载. 这里需要说明一些知识: 1.Ajax 无刷新页面的好处:提供良好的客户体验,通过 Ajax 在后台从数据库中取得数据并展示,取缔了等待加载页面而出现的空白状态: 2.那么,Ajax 无刷新页面是运行在动态页面(.PHP)?还是静态页面(.html/.htm/.shtml)?答案是:静态页面: 3.实现原理

Ajax控件之ScriptManager与UpdatePanel用法

公司项目用到UpdatePanel,完全不明所以. 好在赖垒大神对俺的细心讲解,写个日志,以作纪念. 作用:用于页面局部刷新!不干扰其他控件内容! 1.首先在页面申明<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>  注解:      1, ScriptManager(脚本控制器)是asp.net ajax存在的基础.      2, 一个页面

摆脱jquery,用自己的JS库实现ajax功能

可以将下面的代码保存在一个文件里如:myAjax.js,以后在项目中如果觉得jquery那一套很重,就完全可以使用自己的ajax库,不用担心性能和兼容性! /** * 创建ajax请求对象 * @returns XMLHTTPREQUEST */function createAjaxObj(){    var req ;    if(window.XMLHttpRequest){        req=new XMLHttpRequest();    }else{        req=new

Ajax与json在前后端中的细节解惑

ajax请求JSON Thinkphp中对是否为Ajax的判断,在TP3.2开发手册中有这么一段:“需要注意的是,如果使用的是ThinkAjax或者自己写的Ajax类库的话,需要在表单里面添加一个隐藏域,告诉后台属于ajax方式提交,默认的隐藏 域名称是ajax(可以通过VAR_AJAX_SUBMIT配置),如果是JQUERY类库的话,则无需添加任何隐藏域即可自动判断.” 我还没细看它的源代码,搜到的出处在这里 define('IS_AJAX', (strtolower($_SERVER['HT

MVC 4.0 Ajax.BeginForm返回JavaScript对象不成功

由于存在js版本的兼容性,而在vs里面如果没有通过Nuget更新jquery.unobtrusive-ajax.js版本的话,那jquery版本就应该仅限定于1.7-1.8之间,如果引用2.1的话,那么微软自己封装的一套Ajax就不能用了,所以,大家在使用Ajax.BeginForm的时候,如果遇到一些问题,不妨尝试下降低下jquery的版本,或许你的问题就会迎刃而解: 一:jquery.unobtrusive-ajax.js与MicrosoftAjax.js.MicrosoftMvcAjax.

thinkphp中AJAX返回ajaxReturn()方法分析

1 本文分析了thinkphp中AJAX返回ajaxReturn()方法.分享给大家供大家参考,具体如下: 2 系统支持任何的AJAX类库,Action类提供了ajaxReturn方法用于AJAX调用后返回数据给客户端.并且支持JSON.XML和EVAL三种方式给客户端接受数据,通过配置DEFAULT_AJAX_RETURN进行设置,默认配置采用JSON格式返回数据,在选择不同的AJAX类库的时候可以使用不同的方式返回数据. 3 要使用ThinkPHP的ajaxReturn方法返回数据的话,需要

jQuery工作原理解析以及源代码示例

jQuery的开篇声明里有一段非常重要的话:jQuery是为了改变javascript的编码方式而设计的. 从这段话可以看出jQuery本身并不是UI组件库或其他的一般AJAX类库. jQuery改变javascript编码方式! 那么它是如何实现它的声明的呢?这里,用以下的一段简短的使用流程: 1)查找(创建)jQuery对象:$(”selector”); 2)调用jQuery对象的方法完成我们需要完成的工作:$(”selector”).doOurWork(); ok,jQuery就是以这种可

悟透JavaScript

From: 李战,http://www.cnblogs.com/leadzen/archive/2008/02/25/1073404.html 引子 编程世界里只存在两种基本元素,一个是数据,一个是代码.编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力. 数据天生就是文静的,总想保持自己固有的本色:而代码却天生活泼,总想改变这个世界.    你看,数据代码间的关系与物质能量间的关系有着惊人的相似.数据也是有惯性的,如果没有代码来施加外力,她总保持自己原来的状态.而代码就象能量,他存