WEB开发网
开发学院软件开发Java 使用 Dojo 的 Ajax 应用开发进阶教程,第 7 部分:... 阅读

使用 Dojo 的 Ajax 应用开发进阶教程,第 7 部分: Dojo 核心库深入介绍

 2010-09-26 00:00:00 来源:WEB开发网   
核心提示: 清单 2. dojo.io.script.get() 的使用dojo.io.script.get({url:"http://search.yahooapis.com/WebSearchService/V1/webSearch?appid=YahooDemo&query=ajax&out

清单 2. dojo.io.script.get() 的使用

 dojo.io.script.get({ 
  url : "http://search.yahooapis.com/WebSearchService/V1/webSearch?appid=YahooDemo& 
    query=ajax&output=json", 
  jsonp : "callback", 
  load : function(data) { 
    alert(data.ResultSet.Result[0].Title); 
  } 
 });

代码清单 2 中使用了雅虎的 Web 搜索服务,通过属性 jsonp指定了回调 JavaScript 方法的名称由参数 callback来指定。可以看到,dojo.io.script.get()的使用方式基本上和 dojo.xhrGet()相同。Dojo 为开发人员屏蔽了底层实现相关的细节。

iframe

除了脚本之外的另外一种 I/O 请求方式是使用 iframe。使用 iframe 与脚本一样,没有跨域访问的限制,而且除了 HTTP GET 请求之外,还可以发送 HTTP POST 请求。使用 iframe 的一个典型的场景就是进行文件上传。使用 XMLHTTPRequest 没有比较好的实现方式,一般需要依赖 Applet 或 Flash 等插件支持。如果不依赖浏览器插件的话,使用 iframe 是最好的选择,因为浏览器本身已经提供了文件选择框用来选择并上传文件。

Dojo 核心库提供的 iframe I/O 请求支持封装在模块 dojo.io.iframe中。其中最重要的就是 dojo.io.iframe.send()方法用来通过 iframe 发出请求。与 dojo.io.script.get()方法相同,该方法的参数也是一个 JavaScript 对象。需要注意的是属性 handleAs的值只能是 text、html、xml、json和 javascript。对于 text、json和 javascript这三种结果返回格式来说,服务器端返回的必须是一个 HTML 文件。该 HTML 页面中必须包含一个 <textarea> 元素,<textarea> 中的内容才是真正的返回数据。如果应用中使用 Dojo 的 iframe 来传输数据的话,在服务器端的实现要格外注意这一点。使用 dojo.io.iframe进行文件上传的实现见 代码清单 3。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:使用 Dojo Ajax

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接