JavaScript框架:跨浏览器的标准化Ajax请求

2016-02-20 01:07 10 1 收藏

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的JavaScript框架:跨浏览器的标准化Ajax请求,过去的都会过去,迎接崭新的开始,释放更美好的自己。

【 tulaoshi.com - Web开发 】

Ajax

使用JavaScript框架最令人信服的理由是跨浏览器的标准化Ajax请求。Ajax请求是异步的HTTP请求,向服务器端脚本发送请求,然后得到一个响应结果,如如XML、JSON、HTML、纯文本格式的数据。大多数JavaScript框架有一定形式的Ajax请求对象,它接受一系列选项作为参数。这些选项包括回调函数,在得到Web服务器的响应时调用,ExtJS、MooTools和Prototype的Ajax请求看起来是这样的:

清单11:一个ExtJS 库中的Ajax请求

Ext.Ajax.request({
    url: 'server_script.php',
    params: {
        name1: 'value1',
        name2: 'value2'
    },
    method: 'POST',
    success: function(transport) {
        alert(transport.responseText);
    }
});

ExtJS接受一个参数,包括url、params、method 和succcess处理函数等字段,url字段包含服务器端脚本的地址,被Ajax请求调用。Params本身就是一个对象,由键/值对组成,然后传递到服务器。method 字段有两个可选值:GET或POST,默认为post方法。最后一个字段是succcess,在服务器得到成功响应后调用。该例中,假定服务器端返回纯文本,这个文本通过alert()方法呈现给用户。

接下来,让我们进一步探讨MooTools中 Ajax的请求。

清单12:MooTools中的Ajax请求

new Request({
    url: 'server-script.php',
    data: {
        name1: 'value1',
        name2: 'value2'
    },
    method: 'post',
    onComplete: function(response) {
        alert(response);
    }
}).send();

正如你看见,MooTools与ExtJS很相似。你会注意到,变量通过data字段传递,方法字段需要小写。此外,与success处理函数不同,MooTools使用onComplete函数。最后,与ExtJS不同,MooTools实际上用Request的send()函数发送请求。

最后,让我们看看Prototype 有哪些明显的不同。

清单13:Prototype 中的Ajax请求

new Ajax.Request('server-script.php', {
    params: {
        name1: 'value1',
        name2: 'value2'
    },
    method: 'post',
    onSuccess: function(transport) {
        alert(transport.responseText);
    }
});

看看,Prototype以同样的方式工作,但语法小有差异。对于初学者来说,原型的Request对象接受两个参数传递给构造函数。第一个参数是发送请求的URL地址,正如你在前面两个例子看到的那样,第二个参数是一个对象,包含各个Ajax请求的选项。当然,URl作为一个单独的参数传递,他不在选项列表中。另外,值得注意的是,与MooTools不同,Prototype 对象的构造函数隐式的发送请求,所以不需要调用任何方法触发HTTP请求。

大多数JavaScript框架对Ajax的支持已经超越了我这里所说的。一些明显的增强功能包括在接到响应后自动更新元素,而无需任何特殊的onSuccess 函数。一些库已经预先构建了自动完成功能,正如你在google搜索引擎看到的那样,在键入时给你一些查询建议。

在接下来的章节中,您将了解到JavaScript框架给络开发者带来的用户体验(UE)的提升。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

转载地址:http://www.denisdeng.com/?p=729

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

原文地址:http://www.ibm.com/developerworks/web/library/wa-jsframeworks/index.html

来源:http://www.tulaoshi.com/n/20160220/1633322.html

延伸阅读
标签: Web开发
代码如下: /**//* 异步请求类 作者:吾非无心 创建时间:2009.2 --------------------------------------------------------------------------------------------------------------------------------- 修改记录: 2009.4.27——添加 URL 检测功能,如果是“http://xxxx.xxx.xx.xx/..”这样的格式,使用系统提供的“/getUrl.aspx...
标签: Web开发
从“译言”上的一篇文章据悉各浏览器 Javascript 的对比。我个人作为一名“准”的 Javascript 开发者,对此事自然比较的关注。SunSpider 的测试面我还是保持对其信任的态度的,正如原文所说的“它是一组被精心设计的测试,易于运行也非常全面”。 下面是测试的内容: 3d - 纯粹 JavaScript 的...
标签: Web开发
突然感觉就是这里的问题,研究一下,搞定后其实觉得挺容易的,只是自己知识还是有些欠缺,解决方法如下: 阻塞的AJAX请求 我们先来证实一下请求的阻塞情况吧。我们使用如下的代码:  连续发起三个请求  代码如下: function simpleRequest()  {     var request = new&nb...
标签: Web开发
本文介绍了跨浏览器的CSS固定定位,请看下面的例子: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" html xmlns="http://www.w3.org/1999/xhtml" head style type="text/css" #fixed{position:fixed;top:5em;right:0;}&nbs...
作为 Web 设计师,你的网站在各种浏览器中有完全一样的表现是很多人的目标,然而这是一个永远无法真正实现的目标,很多人认为,完美的跨浏览器兼容并不必要,这样说虽然没错,但在很多情形,一种近似的兼容还是很容易实现的,本文讲的是各种跨浏览器兼容的 CSS 编码准则和技巧。 理解 CSS 盒子模型 如果你想实现不需要很多奇巧淫技的跨浏...

经验教程

446

收藏

31
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部