dojo.io.script

dojo.io.script

定义:

跨域访问数据,可以动态的将script标签插入到网页当中。

局限:

1.只支持get方式访问;

2.只支持异步调用。

使用:

1.dojo.io.script.get() 带一个JavaScript对象参数,这个js对象支持以下属性:

url:请求的url。

callbackParamName:url参数名,指示JSONP回调字符串。

checkString:字符串,默认为null。在已被加载的script中定义的一个变量, that will determine if the request has finished.

preventCache:一个布尔值,用来告诉dojo.xhrGet为每个请求附加一个特别的查询参数。(可选参数)

content:一个{name1:string1,name2:string2}组合成JavaScript对象。(可选参数)

2.返回值

返回一个“dojo.Deferred”对象。这个对象允许你定义额外的成功和失败的回调。它也可以被用来在你的请求参数中替代定义“load”和“error”方法。

实例:

 1  function searchGoogle(){
 2    // Look up the node we‘ll stick the text under.
 3    var targetNode = dojo.byId("results");
 4
 5    // The parameters to pass to xhrGet, the url, how to handle it, and the callbacks.
 6    var jsonpArgs = {
 7      url: "http://ajax.googleapis.com/ajax/services/search/web",
 8      callbackParamName: "callback",
 9      content: {
10        v: "1.0",
11        q: "dojo toolkit"
12      },
13      load: function(data){
14        // Set the data from the search into the viewbox in nicely formatted JSON
15        targetNode.innerHTML = "<pre>" + dojo.toJson(data, true) + "</pre>";
16      },
17      error: function(error){
18        targetNode.innerHTML = "An unexpected error occurred: " + error;
19      }
20    };
21    dojo.io.script.get(jsonpArgs);
22  }
23  dojo.ready(searchGoogle);
//html代码
<b>Google Search Results for ‘dojo toolkit‘ (In JSON):</b>
<div id="results" style="height: 200px;"></div>

http://dojotoolkit.org/reference-guide/1.10/dojo/io/script.html

http://dojotoolkit.org/reference-guide/1.8/dojo/request/script.html

时间: 2024-10-25 21:49:18

dojo.io.script的相关文章

dojo Provider(script、xhr、iframe)源码解析

总体结构 dojo/request/script.dojo/request/xhr.dojo/request/iframe这三者是dojo提供的provider.dojo将内部的所有provider构建在Deferred基础上形成异步链式模型,utils.deferred函数向3个provider提供统一接口来规范其行为.数据请求在各个provider的发送过程几乎一致: 解析options参数util.parseArgs 创建dfd对象,该对象控制着整个数据接收.处理.传递的过程 //Make

用 dojo/request/script 玩垮域

dojo/request/script 可以用于向服务器发送跨域请求,如JSONP等.但单看官方文档有点不容易理解,特将体会记录. require(["dojo/request/script"], function(script){ script.get("something.js", { jsonp: "callback" }).then(function(data){ // on_success // Do something with th

[转]掌握 Dojo 工具包,第 2 部分: XHR 框架与 Dojo

作者:secooler 快乐的DBA Ajax 的兴起改变了传统的 B/S 结构应用程序中以页面为单位的交互模式,Ajax 引入的局部刷新机制带来了更好的用户体验,促使浏览器中的页面开始向应用程序发展,Google Mail, Google Reader 是在这种趋势下诞生的典型应用. Dojo 提供了基于 XmlHttpRequest 的对象的 XHR 框架来支持异步 Ajax 调用,另外 Dojo.io 包中提供了两种浏览器与服务器交互的方式:iframe. 隐藏框架和 script. 动态

XHR 框架与 Dojo( xhrGet,xhrPut,xhrDelete)

总结 本文介绍了 Dojo 中三种浏览器与服务器交互的方式,这三种方式各有优缺点,但是在使用方式却出奇的一致: xhr 框架的函数,dojo.io.iframe.dojo.io.script 对象的函数使用的 JSON 对象参数也极其相似,而且浅显易懂. Dojo 设计者的这一良好设计极大的减轻了开发人员的学习负担,作为框架开发人员应该了解这一理念.表 2 对这三种方式从三个方面进行了比较.   支持的 HTTP 请求类型 期望的输出 跨域 XHR Get, post, delete, put

理解dojo.require机制

转自:http://blog.csdn.net/dojotoolkit/article/details/5935844 Dojo 提供了一个非常强大的javascript控件库. 在使用dojo之前,用户基本上不需要具备任何基础知识. 你可以用script远程链接到dojo(dojo.js), 也可以把dojo.js下载到本地并用script标签加载. 如果你不太了解dojo, 可以参考一下如下资料: Dojo 1.4 Cheat Sheet Dojo Base Source Tree (1.4

Dojo入门:增强的Ajax功能

随着Web技术的发展,RIA似乎已经成了主流,Ajax也随之成了不可或缺的部分.Ajax是异步的javascript和Xml,虽然现在很多交互的数据格式都不再严格的采用XML,但这种异步的操作却越来越流行了.目前主流的JS工具包都包含了Ajax的功能,dojo也有自己的Ajax框架XHR. XHR框架 XHR框架是dojo对ajax支持的一组方法,允许想服务器端发出get.post.put.delete请求,这些方法包括: xhrGet xhrPost xhrPut xhrDelete 所有这些

Dojo API中文 Dojo内容模块概览,初学者

官网:http://dojotoolkit.org/reference-guide/1.10/dojo/index.html#dojo-dojo的翻译 dojo 内容: dojo dojo/dojo dojo/_base Areas of Functionality dojo是dojo工具箱的基础包.有时被称为"核心",它包含了最重要的一般适用的软件包和模块.dojo包包含了许多功能,比如ajax.dom操作.类类型编程.事件.承诺.数据存储.拖放和国际化库. dojo/dojo 这是

AJAX跨域请求json数据的实现方法

这篇文章介绍了AJAX跨域请求json数据的实现方法,有需要的朋友可以参考一下 我们都知道,AJAX的一大限制是不允许跨域请求. 不过通过使用JSONP来实现.JSONP是一种通过脚本标记注入的方式,它是可以引用跨域URL的js脚本,不过需要提供一个回调函数(必须在您自己的页面上),因此,你可以自己处理结果. 让我们看看JSONP的是怎么在jQuery,MooTools的,Dojo Toolkit中实现的. jQuery的JSONPjQuery.getJSON方法:Js代码 jQuery.get

Dojo Configuration-dojo/_base/config

使用dojoConfig(djConfig)对Dojo进行全局配置以控制其默认行为. dojo.config在Dojo启动过程中使用,有以下三种方式可以修改其默认值: 在引入Dojo核心模块的script标签中定义data-dojo-config属性并设定其值. 在引入Dojo核心模块之前定义dojoConfig对象. 自行编译Dojo. 1 <script src="/dojo/dojo/dojo/dojo.js" data-dojo-config="has:{'do