网络编程
位置:首页>> 网络编程>> JavaScript>> jQuery 1.4官方中文手册[译](2)

jQuery 1.4官方中文手册[译](2)

作者:coolnalu 来源:uxd2 发布时间:2010-01-20 10:46:00 

标签:jquery,中文手册,jquery源码,下载,帮助

Ajax

嵌套参数的序列化 (jQuery.param() 文档, Commit 1, Commit 2)

jQuery 1.4在jQuery.param方法里加入了嵌入参数序列化的支持,借用了PHP编程里兴起的,而后又被Ruby on Rails推广开来的方式。

举例来说,

{foo: ["bar", "baz"]} 会被序列化为 “foo[]=bar&foo[]=baz”.

在jQuery 1.3版里, {foo: ["bar", "baz"]} 曾被序列化为 “foo=bar&foo=baz”. 但是,这样做没用办法将只含有一个元素的阵列编码。如果你需要旧的序列化方式,你可以设置传统Ajax设置来进行切换。(使用jQuery.ajaxSettings.traditional进行全局切换,或者根据情况单独切换。

总共有3种方式可以切换到旧的序列化方式:

// 全局改变序列化方式 (使用旧的)jQuery.ajaxSettings.traditional = true;// 指定情况使用旧的序列化方式jQuery.param( stuff, true );// 针对一个单独的Ajax请求使用旧的序列化方式$.ajax({ data: stuff, traditional: true });

更多信息参见: jQuery.param() 文档, jQuery.ajax() 文档, Commit, Code

JSON和脚本类型通过”content-type”自动识别。 (jQuery.ajax 文档, Commit 1, Commit 2)

如果一个Ajax请求的回复的媒体类型是JSON(application/json), dataType默认设为”json”(如果dataType没有被指明)。另外,如果回复的媒体类型是 Javascript(application/javascript), dataType默认设为”script”(同样,如果dataType没有明确指明), 这种情况下,脚本会自动运行。

加入了Etag的支持 (jQuery.ajax() 文档, Commit)

默认设置下, jQuery会忽略Ajax请求的”Last-Modified”页头。这样做是为了忽略浏览器的缓存。设置ifModified:true就可以使 jQuery使用可用的缓存。jQuery1.4还会发出”If-None-Match”的页头如果你设置了ifModified选项。

严格JSON模式,本地的JSON.parse方法 (jQuery.ajax() 文档, Commit 1, Commit 2, Commit 3)

jQuery 1.3和以前的版本曾使用Javascript的eval对引入的JSON解析。1.4版则会使用本地的JSON解析器,前提是如果有本地的解析器可用。它也会对引入的JSON进行校验。所以在jQuery.getJSON方法里,或当一个Ajax请求的dataType是”json”的时候,jQuery会拒绝不合标准的JSON(例如{foo: "bar"})。

序列化HTML5的元素 (jQuery.param() 文档, Commit)

新的HTML5输入方法 (比如’datetime’和’range’)在序列化.serialize()一个表单的时候会被包括在内。

Ajax请求的环境 (jQuery.ajax() 文档, Commit)

你可以附加一个”环境”到Ajax请求上,所有的回调函数里都会拥有同样的”环境”设置(这样可以简化你的代码,尽可能避免使用闭合,或是其他对象)。

jQuery.ajax({url: "test.html",context: document.body,success: function(){jQuery(this).addClass("done");}});

请求成功回调函数的第三个参数会被设为原始的XHR对象 (jQuery.ajax() 文档, Commit)

所有的Ajax请求的成功回调函数现在都会收到原始的XMLHttpRequest对象,作为第三个参数。之前这个XHR对象只能通过$.ajax一类方法的返回值来获取。

明确设置”Content-Type” (jQuery.ajax() 文档, Commit)

在1.3版,如果没有实际数据发送,jQuery.ajax的contentType会被忽略。1.4版里,contentType将总是和请求一同发送。这修复了某些后台凭靠”Content-Type”页头判断回复类别所造成的问题。

明确设置JSONP回调函数的名字 (jQuery.ajax 文档, Commit)

你可以使用jQuery.ajax()方法的jsonpCallback选项,通过名字来指定JSONP的回调函数。

防止启动前跨域XHR (Commit)

跨域Ajax(针对提供支持的浏览器)将更易用,因为默认设置下,启动前XHR被阻止了。(TODO)

jQuery.ajax()现在使用”onreadystatechange”事件替换了计时器 (Commit)

使用”onreadystatechange”替换了轮流探询,Ajax请求现在将使用更少的资源

0
投稿

猜你喜欢

  • MySQL语句优化的基本原则:◆1、使用索引来更快地遍历表。缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物
  • 针对border边框属性在浏览器中的渲染方式很早以前就开始在QQ群中看到大家在讨论,而我也一直以border:0 none;的方式处理。其中
  • 论坛经常有人会问到用CSS如何美化Select标签,其实但凡你看到很酷的都是用javascript来实现的。昨天试着做了一下,基本实现的初级
  • 内容摘要:    网页的色彩搭配往往是网友们感到头疼的问题,尤其是那些完全没有美术基础的网友。到底用
  • 任意给出一个数,求该数以内的所有质数.(使用筛选法做的)先看看什么叫做质数?质数的定义:一个大于1的自然数,除了1与它自身外,再没有其它的正
  • 说起INDEX SERVER,我自己本来用的也不多,不过前两天公司要做一个INDEX的搜索,我从网上找了好多的资料,仔细分析了以后自己启动了
  • 用Dreamweaver制作网页时,如果插入的图片、GIF动画、声音、视频或链接的网页是用中文命名的,在用IE浏览器浏览时可能显示不出来。以
  • 网页制作中需要把握好很多原则和细节,今天我们来谈谈网页设计中的平衡、对比、连贯和留白。一、平衡如果你的页面是平衡的,当用户浏览这个页面的时候
  • 如果是在Oracle10g之前,删除一个表空间中的数据文件后,其文件在数据库数据字典中会仍然存在,除非你删除表空间,否则文件信息不会清除。但
  • class和id的命名,如果合理,可以使得文档具有清晰的结构我们现在解决办法就是使用现有的元素,通过给他们id或class而得到额外的信息。
  • 还是网站在不同操作系统不同浏览器下兼容性的问题,但难度加了一层.如果是要检查用户登录后的页面的兼容性,该怎么办?现在一般的测试网站,都是提交
  • 1、设置web.config文件。以下为引用的内容:<system.web> ...... <globalization
  • 把昨天做的高级查询界面完善了一下,支持动态添加多个查询条件、定义逻辑关系,支持整形、浮点、字符串、日期、布尔值、自定义选择列表的录入,通过E
  • 哪行哪业都少不了基本功,都说“马步”要扎得稳。在都快说烂了的以目标用户为中心设计的今天,还是要勤练基本功的。不多说了,先了解下“设计的3个C
  • nofollow标签是Google2005年推出的,目的是尽量减少垃圾链接对搜索引擎的影响。有用过网页制作工具的人都知道,在这些工具里是找不
  • 昨天在W3C看到,6月10日发布了新的 HTML 5 草案(Working Draft)。粗略的读了一下它提供的 新版本说明文档 ,作了一点
  • 1、查询SQL中的所有表: Select TABLE_NAME FROM 数据库名称.INFORMATION_SCHEMA.TABLES W
  • 段时间作项目中,遇到使用视图的问题,以前的工作中很少遇到视图,认为直接用表就ok了,何须视图呢?下面我来讲述一下它的功用:以往当我们查询数据
  • 现在的互联网上已经有很多能帮助设计师们的各种在线生成器,比如:图标(icon)生成器、背景生成器、按钮生成器和标志生成器等。Balkhis曾
  • 一、使用css缩写使用缩写可以帮助减少你CSS文件的大小,更加容易阅读。css缩写的主要规则请参看《常用css缩写语法总结》,这里就不展开描
手机版 网络编程 asp之家 www.aspxhome.com