..


赞助商链接

有什么新的jQuery 1.5

由Riccardo布兰比拉写文章
第1页3

它是几个星期出了我们敬爱的jQuery版本1.5,由回归后的1.5.1之后,基本上都是第一次错误固定的版本

我的第一直觉使我认为你可以等待一段时间才能生产出这种新的版本中,如果仅仅是因为1.4.x的分公司已经对他们的工作进行得非常好,更何况留多一点时间版本为用户提供了稳定感和安全感。

但是,当我读了什么改变,我改变了主意说马上。

在1.5的变化巨大的但不能因此暴露在多少工作已经做了幕后,特别是在形式的Ajax开发人员,其变化不要犹豫,打电话的时代,没有那么多一般(什么其他框架已经在使用,功能多在这里,我们介绍了),但为jQuery。

我们看到一个小更具体做了什么。

革命(和重构)的形式阿贾克斯

$扩展。阿贾克斯()

该框架的开发团队,改写了AJAX API都提供三种方式来扩展功能的Ajax $():在预过滤器,转换器和传输

在预过滤器

一个预过滤器是一个回调函数之前调用实际发送Ajax请求,并在文件中所解释之前,任何美元的治疗方案。阿贾克斯()本身。

预过滤器记录的使用$ AjaxPrefilter():

 



 $。AjaxPrefilter(功能(选项,originalOptions,jqXHR)

 

我将解释什么是jqXHR,把它看成是一种现在与一个XMLHttpRequest丰富的包装

文件中的最有趣的例子说明了预过滤器可以用来修改现有的选项






 $。AjaxPrefilter(功能(选项){



  



如果(options.crossDomain){



    



 options.url =“htt​​p://miodominio.it/proxy/”+ encodeURIComponent(options.url);



    



 options.crossDomain =虚假的;



  



 }







 });



也就是说,如果该选项是跨域的调用代理到的URL http://mydomain.net/proxy/。

该转换器

A 转换器是一个回调函数调用时的数据类型是从收到预期的不同。

而“可以使用$ AjaxSetup()来注册它在全球范围






 $。AjaxSetup({



  



转换器:{



    



 “Miodatatype文”:函数(textValue){



      



如果(有效(textValue)){



        



 / /这里的自定义逻辑来解析!



        



 miodatatypeValue回报;



      



否则{}



        



 / /通知解析错误



        



抛出异常;



      



 }



    



 }



  



 }







 });



或者直接拨打电话为每次调用需要它内联





 $。阿贾克斯(网址,{



  



数据类型:“XML文本miodatatype”



  



转换器:{



    



 “XML文本”:函数(xmlValue){



      



 / /分析逻辑在这里!



      



 textValue回报;



    



 }



  



 }







 });



究其原因最有意义的使用转换器,它提供了一种方法来定义,然后作为一个返回类型,第一个例子中使用自己的数据类型 ,我们可以请求类型miodatatype这样的:






 $。阿贾克斯(网址,{



  



数据类型:“miodatatype”







 });



注:数据类型必须为小写的字符串定义。

的传输

如果有足够的转换器prefilters和塑造我们的AJAX请求,对象是提供传输,该文件定义了最后 (这将转化为“不使用”或“如果你觉得有必要使用它们,也许你应该反思您所使用的逻辑“)。

然而,运输提供了两个功能: 发送终止 ,应当记录使用$ AjaxTransport()。

这里是基本的例子,在所提供的文件:






 $。AjaxTransport(功能(选项,originalOptions,jqXHR){



  



如果(/ * transportCanHandleRequest * /){



    



 {返回



      



发送:功能(头,completeCallback){



        



 / *发送队列* /



      



 },



      



中止:函数(){



        



 / *中止代码* /



      



 }



    



 };



  



 }







 });



和参数的描述,转化为您的方便:

  1. 选项是请求选项
  2. originalOptions选项传递给该方法以及阿贾克斯,modiifcate没有定义默认情况下,没有ajaxSettings
  3. jqXHR jqXHR是请求的主题
  4. 和地图键/值的要求可传输如果传输支持
  5. completeCallback是函数,通知的AJAX请求完成。

一个completeCallback的典型结构如下:

 



功能(状态,statusText,响应头){}

 
其中:
  1. 状态响应的HTTP状态代码,经典的200,404 ...
  2. statusText是响应的说明
  3. 反应是一个可选的映射定义的数据类型/值,包含在由运输接受所有格式的答案:例如,在纯文本响应:{文字:的TextData}
  4. 是一个可选的字符串,其中包含由XMLHttpRequest.getAllResponseHeaders所提供的响应

我们已经描述了已被添加到提高模块的AJAX的灵活性,但为了共同的使用我觉得很有趣的递延 introduction上发表评论但这样做之前jqXHR定义新的对象,它是从Ajax调用返回。

jqXHR

jqXHR家庭是一个XMLHttpRequest对象实现提供的所有方法,属性和行为由一个接口定义无极无极超:

定义:一个承诺是对任务的结果只读视图,并表示由交易完成后返回的值。

欲了解更多信息,请参阅这里

在同一类...
电子学习
CSS(课程) CSS(课程)
网页设计和辅助功能根据W3C CSS和XHTML。 起价29€。
HTML(课程) HTML(课程)
为从29€Web标记语言。
使用Javascript(课程) 使用Javascript(课程)
完成引导客户端脚本。 从39€。
赞助商链接