快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

bet356亚洲版在线体育投注_酒文化网进入



1. Prototype是什么?

或许你还没有用过它, prototype.js 是一个由Sam Stephenson写的JavaScript包。这个构思巧妙编写优越的一段兼容标准的一段代码将承担创造胖客户端, 高交互性WEB利用法度榜样的重担。轻松加入Web 2.0特点。

假如你近来体验了这个法度榜样包,你很可能会发明文档并不是它的强项之一。像所有在我之前的开拓者一样,我只能一头扎进prototype.js的源代码中并且试验此中的每一个部分。 我想当我进修他的时刻记写条记然后分享给其他人将会很不错。

我也一路供给了这个包的工具,类,措施和扩展的 非官方参考 。

2. 通用性措施

这个法度榜样包里面包孕了许多预定义的工具和通用性措施。编写这些措施的显着的目的便是为了削减你大年夜量的重复编码和惯用法。

从Prototype1.5.x版本开始,你可以更方便的如下面代码一样操作DOM工具了:

var ele = $("myelement");

ele.hide(); //暗藏DOM工具比较早年的版本var ele = $("myelement");

Element.hide(ele); //暗藏DOM工具

这样的改变有什么益处呢? 我感觉一来是更面向工具了,二来便是便于将来IDE里的代码提示。

2.1. 应用 $()措施

$() 措施是在DOM中应用过于频繁的 document.getElementById() 措施的一个便利的简写,就像这个DOM措施一样,这个措施返回参数传入的id的那个元素。

比起DOM中的措施,这个更胜一筹。你可以传入多个id作为参数然后 $() 返回一个带有所有要求的元素的一个 Array 工具。下面的例子会向你描述这些。

Test Page

This is a paragraph

This is another paragraph

这个措施的另一个好处便是你可以传入id字符串或者元素工具自己,这使得在创建可以传入任何形式参数的措施的时刻, 它变得异常有用。

2.2. 应用$F()措施

$F()措施是另一个异常受迎接的简写。它可以返回任何输入表单控件的值,如文本框或下拉框。 这个措施可以传入元素的id或者元素自己。

鄙人面的例子中, xmlNode.text在一些浏览器中好用,然则xmlNode.textContent在另一些浏览器中正常事情。 应用Try.these()措施我们可以获得正常事情的那个措施的返回值。

3. Ajax 工具

上面提到的共通措施异常好,然则面对它吧,它们不是最高档的那类器械。它们是吗?你很可能自己编写了这些以致在你的脚本里面有类似功能的措施。然则这些措施只是冰山一角。

我很肯定你对prototype.js感兴趣的缘故原由很可能是因为它的AJAX能力。以是让我们解释当你必要完成AJAX逻辑的时刻,这个包若何让它更轻易。

Ajax 工具是一个预定义工具,由这个包创建,为了封装和简化编写AJAX 功能涉及的狡猾的代码。 这个工具包孕一系列的封装AJAX逻辑的类。我们来看看它们的一些。

3.1. 应用 Ajax.Request类

假如你不应用任何的赞助法度榜样包,你很可能编写了全部大年夜量的代码来创建XMLHttpRequest工具并且异步的跟踪它的进程, 然后解析出相应 然后处置惩罚它。当你不必要支持多于一种类型的浏览器时你会认为异常的幸运。

为了支持 AJAX 功能。这个包定义了 Ajax.Request 类。

要是你有一个利用法度榜样可以经由过程url htbet356亚洲版在线体育投注tp://yoursever/app/get_sales?empID=1234&year=1998与办事器通信。它返回下面这样的XML 相应。

1234

1998-01

$8,115.36

1234

1998-02

$11,147.51

用bet356亚洲版在线体育投注 Ajax.Request工具和办事器通信并且获得这段XML是异常简单的。下面的例子演示了它是若何完成的。

Buchanan, Steven

Callahan, Laura

Davolio, Nancy

1996

1997

1998

你看到传入 Ajax.Request构造措施的第二个工具了吗? 参数{method: 'get', parameters: pars, onComplete: showResponse} 表示一个匿名工具的真实写法。他表示你传入的这个工具有一个名为 method 值为 'get'的属性,另一个属性名为 parameters 包孕HTTP哀求的查询字符串,和一个onComplete 属性/措施包孕函数showResponse。

还有一些其它的属性可以在这个工具里面定义和设置,如 asynchronous,可以为true 或 false 来抉择AJAX对办事器的调用是否是异步的(默认值是 true)。

这个参数定义AJAX调用的选项。在我们的例子中,在第一个参数经由过程HTTP GET敕令哀求那个url,传入了变量 pars包孕的查询字符串, Ajax.Request 工具在它完成接管相应的时刻将调用showResponsbet356亚洲版在线体育投注e 措施。

大概你知道, XMLHttpRequest在HTTP哀求时代将申报进度环境。这个进度被描述为四个不合阶段:Loading, Loaded, Interactive, 或 Complete。你可以使 Ajax.Request 工具在任何阶段调用自定义措施 ,Complete 是最常用的一个。想调用自定义的措施只必要简单的在哀求的选项参数中的名为 onXXXXX 属性/措施中供给自定义的措施工具。 就像我们例子中的 onComplete 。你传入的措施将会被用一个参数调用,这个参数是 XMLHttpRequest 工具自己。你将bet356亚洲版在线体育投注会用这个工具去获得返回的数据并且或许反省包孕有在此次调用中的HTTP结果代码的 status 属性。

还有别的两个有用的选项用来处置惩罚结果。我们可以在onSuccess 选项处传入一个措施,当AJAX无误的履行完后调用, 相反的,也可以在onFailure选项处传入一个措施,当办事器端呈现差错时调用。正如onXXXXX 选项传入的措施一样,这两个在被调用的时刻也传入一个带有AJAX哀求的XMLHttpRequest工具。

我们的例子没有用任何有趣的要领处置惩罚这个 XML相应, 我们只是把这段XML放进了一个文本域里面。对这个相应的一个范例的利用很可能便是找到此中的想要的信息,然后更新页面中的某些元素, 或者以致可能做某些XSLT转换而在页面中孕育发生一些HTML。

3.2. 应用 Ajax.Updater 类

假如你的办事器的另一端返回的信息已经是HTML了,那么应用这个法度榜样包中 Ajax.Updater 类将使你的生活变得加倍得轻易。用它你只需供给哪一个元素必要被AJAX哀求返回的HTML添补就可以了,例子比我写阐明的更清楚。

你可以看到,这段代码比前面的例子加倍简洁,不包括 onComplete 措施,然则在构造措施中传入了一个元素id。 我们来稍稍改动一下代码来描述若何在客户端处置惩罚办事器段差错成为可能。

我们将加入更多的选项, 指定处置惩罚差错的一个措施。这个是用 onFailure 选项来完成的。

我们也指定了一个 placeholder 只有在成功哀求之后才会被添补。为了完成这个目的我们改动了第一个参数从一个简单的元素id到一个带有两个属性的工具, success (统统OK的时刻被用到) 和 failure (有地方出问题的时刻被用到) 鄙人面的例子中没有用到failurbet356亚洲版在线体育投注e属性,而仅仅在 onFailure 处应用了 reportError 措施。

假如你的办事器逻辑是返回JavaScript 代码而不是纯真的 HTML 标记, Ajax.Updater工具可以履行那段JavaScript代码。为了使这个工具对待相应为JavaScript,你只需在着末参数的工具构造措施中简单加入evalScripts: true属性。

2.3. 应用Try.these()措施

Try.these() 措施使得实现当你想调用不合的措施直到此中的一个成功正常的这种需求变得异常轻易, 他把一系列的措施作为参数并且按顺序的一个一个的履行这些措施直到此中的一个成功履行,返回成功履行的那个措施的返回值。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: