Web开发网 > 站内搜索 > ajax对象
默认情况下,ajax 跨源请求不提供凭据(cookie、HTTP认证及客户端SSL证明等)。通过将设置ajax 的withCredentials属性设置为true,可以指定某个请求应该发送凭据。如果服务器接收带凭据的请求,会用下面的HTTP头部来响应。Access-Control-Allow-Credentials: true 如果发送的是带凭据的请求,但服务器的响应头中没有包含这个头部,那么浏览器就不会把相应交给JavaScript(于是,responseText 中将是空字符串,status的值为0,而且会调用onerror()事件处理程序)。另外,服务器还可以在Preflight响应中http://www.w3dev.cn/article/20130813/ajax-withCredentials-attribute.aspx
ajax 对象 的abort()方法可以停止一个XMLHttpRequest对象 对HTTP的请求,把该对象 恢复到初始状态。 例如,如果某个操作需要一系列的操作顺序完成,而这其中出现任何异常,都会导致当前操作的结束,当检测到某个步骤出现异常时,使用abort()方法,中止当前的处理。http://www.w3dev.cn/article/20110819/ajax-abort-method.aspx
vascript"varxmlHttp=false;//创建XMLHttpRequest对象 functioncreateXMLHttpRequest(){if(window.ActiveXObject){//IEtry{xmlHttp=newActiveXObject("Msxml2.XMLHTTP");}catch(e){try{xmlHttp=newActiveXObject("Microsoft.XMLHTTP");}catch(e){window.alert("创建XMLHttpRequest对象 错误"+e);}}}elseif(window.XMLHttpRequest){//非Ihttp://www.w3dev.cn/article/20110819/ajax-getAllResponseHeaders-method.aspx
经常混CSDN,发现ajax 版块好多问题都是属性,方法,事件大小写不区分,导致程序运行出问题,或者在不同浏览器下效果不出来或者出错。 下面是ajax 对象 的一些常用属性,事件和方法 1)标准的ajax 对象 的属性有readyState,status,responseText,responseXML 2)非标准ajax 对象 属性,针对IE浏览器的,有responseBody,2进制数据流。如果不考虑浏览器兼容,这个属性+VBScript能很好的解决乱码问题。 +展开-VBScriptFunctionBytes2BStr(vin)'二进制转字串strreturn=""fori=1tolenbhttp://www.w3dev.cn/article/20110427/ajax-object-attribute-case-issues.aspx
后再是activexobject,那么使用XMLHttpRequest创建的对象 支持使用onreadystatechange获取的。 IE7+浏览器支持XMLHttpRequest对象 ,所以不会出错,如果你改成判断activexobject先再是XMLHttpRequest,IE7+浏览器也会出错。 但是IE6不支持XMLHttpRequest,只能使用acx创建,所以使用if(xhr.onreadystatechange)时就出错,设置onreadystaechange=null语句也会出错。 创建ajax 对象 时如果使用activexobject,这种释放资源的操作就只能由javaschttp://www.w3dev.cn/article/20110225/garbage-ajax-object-onreadystatechange.aspx
.xmlhttp'],Xhr;for(vari=0;iacX.length;i++)try{Xhr=newActiveXObject(acX[i]);returnXhr;}catch(e){}returnfalse;}//ajax 应用池Showbo.Ajax ={pools:[]//注意pools存储的对象 为{xhr:ajax 对象 ,status:ajax 的状态},其中ajax 的状态为1/0,1表示在使用中,0表示readyState==4了并且执行了回调函数,getObject:function(){for(vari=0;ithis.pools.length;i++)if(this.poolshttp://www.w3dev.cn/article/20090702/393.aspx
检查jquery选出的对象 是否还在dom树中,而不是从DOM树中删除掉。script type=text/javascript src=http://ajax .aspnetcdn.com/ajax /jQuery/jquery-1.4.2.min.js/scriptpDOM1/ppDOM2/pscript var $cache1 = $(p); //jQuery选出所有p对象 $(p:eq(0)).remove(); //jQuery移除第一个p对象 alert($cache1.size())//输出2,而不是1 //由于$cache1只是选出对象 的一个副本,上面的删除http://www.w3dev.cn/article/20141118/how-to-check-jquery-object-is-in-dom.aspx
如何用javascript判断给定的2个div对象 是否存在重叠部分,算法如下1)判断4个顶点是否在另外一个对象 的区域内2)上面的判断失败,则为十字架关系,内部一部分包含在另外一个对象 中,但是顶点相互不在对方内部注意:上面2个步骤需要相互转换过参考对象 测试源代码如下,居于jquery框架!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtdtitle判断2个对象 是否重叠/titlescript type=text/http://www.w3dev.cn/article/20141015/javascript-check-object-is-Overlap.aspx
jquery1.5+重写过ajax 代码,增加了跨域判断(自动判断ajax 请求的url地址是否和当前访问的页面同源,jquery1.4-版本没有增加跨域判断,所以直接发送ajax 请求,这样就和浏览器的安全设置有关了),jquery1.5+如果跨域访问并且不支持跨域请求(这些都是jquery代码自动判断的),就不会发送ajax 请求(所以浏览器安全设置被忽略),导致没有触发任何事件,所以jquery1.4+能在ie配置安全区域的通过域访问数据源后可以跨域请求,而jquery1.5+就完全没有反应。 具体可以参考http://code.jquery.com/jquery-1.10.2.js未压http://www.w3dev.cn/article/20130813/jquery1.5-upper-version-cros-request-in-ie-No-reaction.aspx
cessed); 属性 XDomainRequest对象 有如下属性属性名称描述constructor返回对象 构造函数contentType获取请求或者想要的内容类型。语法HRESULT value = object.get_contentType( p);responseText响应的内容,字符串格式timeout获取或者设置跨域请求超时时间,单位毫秒备注 XDomainRequest对象 为一个允许脚本连接任何服务器并且交互数据的安全,可信,轻量级数据服务。开发使用 XDomainRequest 对象 发送有跨域安全当前ajax 请求。 安全警告: 跨域请求(XDRs)匿名保护用户数据http://www.w3dev.cn/article/20130729/XDomainRequest-IE8-cross-domain-ajax-object.aspx
,这个语句是无效的 在上面的这段代码中,wait()函数返回的是promise对象 。然后,我们把回调函数绑定在这个对象 上面,而不是原来的deferred对象 上面。这样的好处是,无法改变这个对象 的执行状态,要想改变执行状态,只能操作原来的deferred对象 。 不过,更好的写法是allenm所指出的,将dtd对象 变成wait()函数的内部对象 。 var wait = function(dtd){ var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象 var tasks = function(){ http://www.w3dev.cn/article/20130605/jquery1.5-deferred-summary.aspx
览器,如IE,TT之类的,使用XMLHttpRequest【IE7+支持XMLHttpRequest】创建的ajax 对象 无法请求本地资源所有资源,连请求自身也会报错,会出现拒绝访问错误。 var xhr = new XMLHttpRequest(); xhr.open('get', 'ajax .html', false); xhr.send(null) alert(xhr.responseText) 使用acx创建的ajax 对象 则没有任何限制,哪怕是访问其他盘的文件或者其他站点的内容。 var xhr = new ActiveXhttp://www.w3dev.cn/article/20130522/ajax-can-access-local-file.aspx
ajax 异步执行,后续的操作一般需要放到回调函数。或者确实需要通过函数返回根据ajax 结果返回需要的值,那么需要将ajax 设置为同步,而不是异步,这样就会挂起return r的执行直到ajax 返回设置完r变量的值。xhr.open(get,xxxx.url,/*true*/false);//设置为同步 由于使用的是微软的CustomValidator验证控件,要修改微软注册的检查事件放到ajax 回调中非常麻烦。但是也不是没有办法,解决办法有2种1)将ajax 请求设置为同步的,同步在网速慢时体验很不好,浏览器假死。2)需要调整下表单的onsubmit事件,防止验证未通过也会提交表单。ajax http://www.w3dev.cn/article/20130427/asp.net-CustomValidator-Ajax-async-validate.aspx
tr('src',url); }, send: function (path) { $(this.idLoading).show(); $(this.idList).hide(); $.ajax ({ url: this.cgi, type: 'POST', data: { p: path }, dataType: 'json', http://www.w3dev.cn/article/20130109/ajax-web-image-preview-system.aspx
使用ajax 时,首先要明确2点,获取返回的数据可以使用ajaxobj.responseXML或者ajaxobj.responseText的2个属性,ajax 对象 其他属性具体参考:ajax 对象 常用属性,事件,方法大小写问题1)对于XML数据,使用responseXML获取到,直接是XMLDOM对象 2)对于responseText得到的内容只有一种类型,就是字符串,然后根据需要将responseText处理成其他数据类型,如返回json格式的字符串,eval生成json对象 什么的。如果是xml的字符串,需要使用浏览器的特殊对象 ,如ie的acx,firefox的DOMParser将xml字符串还http://www.w3dev.cn/article/20121206/ajax-xml-json-data-format-compare.aspx
Ext4.1动态生成checkboxgroup对象 的原理很简单,用ext的ajax 类库发送ajax 请求动态页获得items对象 的字符串内容,eval生成json对象 ,然后再生成checkboxgroup对象 ,配置checkboxgroup的items对象 为返回的json字符串内容即可【注意要eval生成json对象 ,不能直接是字符串】。 数据源data.txt内容[{boxLabel:Item1,name:name,checked:true,inputValue:1},{boxLabel:Item2,name:name,checked:true,inputValue:2},{boxLahttp://www.w3dev.cn/article/20121205/Ext4.1-dynamic-create-checkboxgroup.aspx
对象 ,可以收集表单中的文件内容,结合ajax 对象 XMLHttpRequest就可以无刷新的上传文件了。FormData对象 实例有一个方法叫做append,允许加入任何形式的数据(文本和文件)的对象 。不过悲催的是IE9虽然支持html5,但是没有FormData对象 。 测试代码html xmlns=http://www.w3.org/1999/xhtmlheadmeta http-equiv=Content-Type content=text/html; charset=utf-8 /titlehtml5 ajax 上传文件asp.net示例/title/headbodyh1html5 ajax http://www.w3dev.cn/article/20121128/html5-ajax-upload-file-asp.net-demo.aspx
(function (data) { $(#wrapper).html(data); }); break; case page : document.title = e.state.title; $.get(e.state.url).done(function (data) { $(#wrapper).html(data); }); break; }} 上面这个是结合pushState和Ajax 做的一个导航相应器(Navigation Handler),其实已经有一个不错的jQuery插件了,jQuery-Pjax(pushState and Ajax )。http://www.w3dev.cn/article/20120810/html5-history-pushstate-replacestate-method.aspx
var headType = "";//创建XMLHttpRequest对象 function createXMLHttpRequest() {if(window.ActiveXObject) { //IEtry {xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");} catch(e) {try {xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");} catch(e) {window.alert("创建XMLHttpRequest对象 错误"+e);} }} else if(window.XMLHttpRehttp://www.w3dev.cn/article/20110819/ajax-getResponseHeader-method.aspx
当然AjaxPro 还可做很多更实用的,更强大的功能。这个仅做个抛砖引玉。其它的改天整理后再放上来。 请各位注意,Ajax .net实际有AjaxPro.dll和Ajax .dll两个版本,这两个版本使用上虽然差不多,但还是有区别的,主要的区别在下面两点(1)web.config配置文件不一样Ajax .dll的配置文件写法为+展开-XMLaddverb="POST,GET"path="ajax /*.ashx"type="Ajax .PageHandlerFactory,Ajax "/AjaxPro.dll的配置文件写法为+展开-XMLaddverb="*"path="ajaxpro/*.ashxhttp://www.w3dev.cn/article/20110721/ajax-dll-ajaxpro-usage-difference.aspx
这样来绑定//为了兼容IE6和FF2,不能使用this对象 来访问xhr对象 ,而且还需要调用回调函数,this指向并非ajax 的实例对象 ,this对象 指向参考第一个示例代码的说明if(xhr.ajax .readyState==4){if(xhr.ajax .status==200)xhr.callback(xhr.ajax .responseText);elsealert('发生错误\nstatus'+xhr.ajax .status);}}Ajax .prototype.callServer=function(){this.ajax =this.getObject();if(this.mhttp://www.w3dev.cn/article/20100709/ajax-object-onreadystatechange-this-scope.aspx
一个效果不错浮动对象 类库,具体阅读效果不错的浮动div,今天又做了一个效果,增加对象 的伸缩功能,让需要的人点开来查看对象 的信息,而不需要占用过多的控件,这对非宽屏显示器用户来说用户体验比较好点,不至于让浮动对象 遮盖住内容。 需要注意的是,使用浮动对象 类库时,只能将浮动对象 浮动在最左边,绑定浮动对象 时只能使用+展开-JavaScriptfloatDiv.bind('浮动对象 ID',-1//此参数不能变动,null//因为startX为-1,所以此参数随便,不会起作用,100//可修改,垂直距离位置,1//可修改,参数意义参考下面的类库说明); 伸缩类库暂时只支持绑定一个对象 ,而不同浮动类库http://www.w3dev.cn/article/20100625/2651.aspx
AJAX 还包含另一个技术,这个技术就是XMLHttpRequest。在AJAX 中,最重要的就是XMLHttpRequest对象 ,XMLHttpRequest对象是JavaScript对象 ,正式XMLHttpRequest对象 实现了AJAX 可以在服务器和浏览器之间通过JavaScript创建一个中间层,从而实现了异步通信。如图16-2所示。图16-2 XMLHttpRequest对象 实现过程 AJAX 通过使用XMLHttpRequest对象 实现异步通信,使用AJAX 技术后,例如当用户填写一个表单,数据并不是直接从客户端发送到服务器,而是通过客户端发送到一个中间层,这个中间层可以被称为AJAX http://www.w3dev.cn/article/20100531/2557.aspx
在ASP.NET 3.5当中,系统提供了AJAX 控件以便开发人员能够在ASP.NET 3.5中进行AJAX 应用程序开发,通过使用AJAX 控件能够减少大量的代码开发,为开发人员提供了AJAX 应用程序搭建和应用的绝佳环境。16.2.1 脚本管理控件(ScriptManger) 脚本管理控件(ScriptManger)是ASP.NET AJAX 中非常重要的控件,通过使用ScriptManger能够进行整个页面的局部更新的管理。ScriptManger用来处理页面上局部更新,同时生成相关的代理脚本以便能够通过JavaScript访问Web Service。 ScriptManger只能在页面http://www.w3dev.cn/article/20100531/2558.aspx
com目标站:http://bbs.somedomain.com解决方法 :1. 在目标站 document.domain = 'somedomain.com';并建立一个ajax .html,引用ajax 方法 (大家都叫它服务中介)然后创建一个ajax 对象 var webreq = new Ajax ();2. 在本地站 document.domain = 'somedomain.com';用iframe引用目标站的ajax .html.详细方法:1. 本地站的一个页面(Test.html)html:+展开 -HTMLhtmlheadscripttype='text/javascript'dochttp://www.w3dev.cn/article/20100120/1299.aspx
s=0;}};o.xhr.send(cfg.params);}}//为iframe提交的回调函数Showbo.Ajax .iframeJson=function(){varjson=Showbo.$('showbo_ifr',true).document.body.innerHTML;if(/^\s*\{/.test(json))returnShowbo.GetJson(json);returnShowbo.Ajax .ErrorJson;}//ajax 的post方法Showbo.Ajax .post=function(f,url,callback,otherParams){if(f.enctypehttp://www.w3dev.cn/article/20100106/1280.aspx
rosoft.xmlhttp'],Xhr; for(var i=0;itry{Xhr=new ActiveXObject(acX[i]);return Xhr;}catch(e){}return false;}Showbo.Ajax ={ pools:[]//注意pools存储的对象 为{xhr:ajax 对象 ,status:ajax 的状态},其中ajax 的状态为1/0,1表示在使用中,0表示readyState==4了并且执行了回调函数 ,getObject:function(){ for(var i=0;ithis.pools.length;i++)if(this.poohttp://www.w3dev.cn/article/20090907/ajax-asp-net-mssqlserver-no-refresh-chat-room.aspx
函数对象 (Function Object) 可以用function关键字定义一个函数,并为每个函数指定一个函数名,通过函数名来进行调用。在JavaScript解释执行时,函数都是被维护为一个对象 ,这就是要介绍的函数对象 (Function Object)。 函数对象 与其他用户所定义的对象 有着本质的区别,这一类对象 被称之为内部对象 ,例如日期对象 (Date)、数组对象 (Array)、字符串对象 (String)都属于内部对象 。这些内置对象 的构造器是由JavaScript本身所定义的:通过执行new Array()这样的语句返回一个对象 ,JavaScript内部有一套机制来初始化返回的对象 ,而http://www.w3dev.cn/article/20090805/656.aspx
进展顺利,我当时也亲眼目睹AS3.0其威力。就在一切都顺利进展的时候,一个不起眼的名次出现了:AJAX 。这就是Flash的最大竞争对手。就我(awflasher.com)所知,目前没有一本像样的Flash开发书籍中提到Ajax ,而几乎每一本Ajax 的畅销书中都有提到Flash,有些甚至直接把Flash列为Ajax 的竞争对手。我知道他们这么说肯定是有依据的,毕竟Ajax 和Flash有太多相似之处:界面友好、用户体验良好、无刷新+数据安全保存等等……又毕竟,Flash的一些技术门槛和负面影响导致Ajax 阵营可以迅速扩大,比如一些优秀的 Flash制作人员毕竟还是偏重图形界面设计;传统的Web开发http://www.w3dev.cn/article/20090717/506.aspx
AJAX )调用。好了,我们开始准备从ASP.NET AJAX 调用Web Service了!如何调用Web Service这部分,我们将创建一个Web页面作为数据输入,通过调用刚刚创建的Web Service来操作Employees表。作为开始,我们先添加一个EmployeeServiceClient.aspx页面,打开工具箱,选择View Toolbox菜单,在工具箱上,选中AJAX Extensions这样的节点(见图2)图 2: 增加模板后的新站点创建对话框AJAX Extensions部分显示一个Web页面上所有可以使用的ASP.NET AJAX 组件。所有使用ASP.NET AJAX http://www.w3dev.cn/article/20090710/445.aspx
首页 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 下一页 尾页 1/11页,每页显示30条,共316条相关记录