`
xiaotian_ls
  • 浏览: 304391 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

dojo.io.bind使用详解

    博客分类:
  • Ajax
阅读更多
访问一个纯文本资源:
dojo.io.bind({
    url: "http://foo.bar.com/sampleData.txt",
    load: function(type, data, evt){ /*do something w/ the data */ },
    error: function(type, error){ /*do something w/ the error*/ },
    mimetype: "text/plain"
});



dojo.io.bind({
    url: "http://foo.bar.com/sampleData.js",
    load: function(type, evaldObj){ /* do something */ },
    mimetype: "text/javas cript"
});

提交Form:

dojo.io.bind({
    url: "http://foo.bar.com/processForm.cgi",
    load: function(type, evaldObj){ /* do something */ },
    formNode: dojo.byId("formToSubmit")
});

参数:
加载一段
url:
the location of the resource being requested
mimetype:
Mimetype used to interpret the contents of the response with. Defaults to "text/plain". This does not set an outgoing mime header for HTTP transports.
method:
Format to use whem making the request. For HTTP transports this us usually either of "GET" or "POST" although non-HTTP transports may define and accept others. Defaults to "GET".
content:
An key/value mapping of properties to be constructed into paramaters passed with the data request. In HTTP transports, these are equivalent to query string paramaters or form fields in POST requests. The exact behavior of content-specified paramaters is dependent upon the transport in use. the value format should like {key1:value1,key2:value2}
load:
                         成功回调函数
error:
                         错误回调函数

transport:
String that explicitly specifies the transport object to use for the request. If the specified transport is not available, the request will not be made and the error callback will be fired.
changeUrl:
Boolean, defaults to false. Determines whether or not the request should be made "bookmarkable". This may be removed in the future as it pertains exclusively to in-browser HTTP transports.
formNode:
DOM Node that specifies a form to be serialized and submitted by this request. Form nodes may be used to populate the method and url properties by some transports. This property may be removed in the future as it pertains exclusively to in-browser HTTP transports.
sync:
Boolean, defaults to false. sync determines whether the accepting transport should attempt to make the request synchronously. Transports that support synchronous operation will block execution of other code until the bind is complete.
bindSuccess:
Boolean, defaults to false. Indicates whether or not this Request was accepted and dispatched by any transport.
useCache:
Boolean, defaults to false. Indicates whether the result of the request should be cached and whether requesting a result for this request from the cache is acceptable.
timeout:
                         请求超时时间

 

原文:http://blog.chinaunix.net/u/8780/showart_349663.html

dojo.io包的大多数魔力通过bind()展现。dojo.io.bind() 提供了通用的异步请求API。

我们可以使用以下的代码从一个URL地址中请求获取原始文本:

 

dojo.io.bind({ url: "http://foo.bar.com/sampleData.txt", load: function(type, data, evt){ /*do something w/ the data */ }, mimetype: "text/plain"});

以上的代码即全部的实现。通过代码我们已经提供了获取数据的地址,获取了数据后的回调函数。不过,当请求出错时,我们需要提供错误处理函数:

 

dojo.io.bind({ url: "http://foo.bar.com/sampleData.txt", load: function(type, data, evt){ /*do something w/ the data */ }, error: function(type, error){ /*do something w/ the error*/ }, mimetype: "text/plain"});

当然,只注册单一的处理函数也是可以的,在这个处理函数中需要指明传递的事件类型进行相应的处理,用这种方式取代对load和error处理函数的分别注册:

 

dojo.io.bind({ url: "http://foo.bar.com/sampleData.txt", handle: function(type, data, evt){ if(type == "load"){ // do something with the data object }else if(type == "error"){ // here, "data" is our error object // respond to the error here }else{ // other types of events might get passed, handle them here } }, mimetype: "text/plain"});

出于性能的考虑,我们经常使用的一种动态加载内容的做法是请求java script语法的字符串,然后进行eval操作。bind方法也同时包含了这种处理操作,我们只需要设置mimetype参数,提供希望获取的响应类型:

 

dojo.io.bind({ url: "http://foo.bar.com/sampleData.js", load: function(type, evaldObj){ /* do something */ }, mimetype: "text/java script"});

当然,如果我们希望确保使用的是XMLHttpRequest传输对象,可以采用如下方式指定:

 

dojo.io.bind({ url: "http://foo.bar.com/sampleData.js", load: function(type, evaldObj){ /* do something */ }, mimetype: "text/plain", // get plain text, don't eval() transport: "XMLHTTPTransport"});

除了以上提供的全面的功能外,bind()方法同时还支持通过请求的方式提交表单(注意:这里不支持通过XMLHTTP上传文件):

 

dojo.io.bind({ url: "http://foo.bar.com/processForm.cgi", load: function(type, evaldObj){ /* do something */ }, formNode: document.getElementById("formToSubmit")});

 

原文:http://blog.csdn.net/pian_yun/archive/2007/09/18/1790525.aspx

分享到:
评论

相关推荐

    Dojo 框架中文手册

    #### 六、使用`dojo.io.bind()`的Ajax远程调用 - `dojo.io.bind()`是一个非常实用的API,用于实现异步数据请求。它支持多种数据类型,并且可以自动处理错误和超时问题。 - **6.1.1 淡出和移除** - 当数据不再需要...

    Struts2数Tree

    dojo.io.bind({ url: "<s:url value='dynamicTreeSelect.action'/>?nodeId=" + node.node.widgetId, load: function (type, data, evt) { var divDisplay = dojo.byId("showDiv"); divDisplay.innerHTML = data...

    梦幻西游手游多开与自动化的详细教程

    本文档提供了梦幻西游手游多开以及自动化的完整指南。主要内容涵盖了所需软硬件的具体配置流程,其中包括Windows 10操作系统的要求限制、使用沙盒工具进行多账号安全操作的方法以及借助Python和AirTest实现游戏脚本自动化的技巧。对于希望实现游戏账号多开并运用自动化来减轻任务负担的手游玩家而言,它给出了详细的解决方案,帮助玩家完成诸如批量任务操作、窗口管理和自动化脚本编写等功能。 适用人群:喜欢《梦幻西游》并有兴趣提升日常任务效率的玩家和初学者级别的Python爱好者。 使用场景及目标:用于解决《梦幻西游》多账号管理过程中所遇到的问题,提高任务的自动化程度以节省时间。 阅读建议:文档不仅限于代码展示,还涉及了很多配置和调试的操作指引。因此,读者应该按照文档内的步骤逐一操作实践才能真正掌握多开与自动化应用的技术要点。

    辽宁对外经贸学院在湖南2021-2024各专业最低录取分数及位次表.pdf

    全国各大学在湖南2021-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据

    变压器变频器配电柜电路控制原理图CAD施工图纸设备控制图星三角启动11

    变压器变频器配电柜电路控制原理图CAD施工图纸设备控制图星三角启动11

    【数字信号去噪】基于matlab粒子群算法PSO-ICEEMDAN信号去躁【含Matlab源码 7616期】.zip

    CSDN海神之光上传的代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b或2023b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪(CEEMDAN)、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信

    PHP源码:95599招商加盟网整站程序.rar

    项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(随意编程),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助 【资源内容】:项目具体内容可查看/点击本页面下方的*资源详情*,包含完整源码+工程文件+说明(若有)等。【若无VIP,此资源可私信获取】 【本人专注IT领域】:有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为您提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【适合场景】:相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可基于此项目来扩展开发出更多功能 #注 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担 2. 部分字体及插图等来自网络,若是侵权请联系删除,本人不对所涉及的版权问题或内容负法律责任。收取的费用仅用于整理和收集资料耗费时间的酬劳 3. 积分资源不提供使用问题指导/解答

    开源项目-C-Sharp.AspNetCore.zip

    【资源简介】 这是一个基于CanalSharp(一款针对.NET的Canal客户端开源项目)封装的ASP.NET Core业务组件,可以用于实时收集MySql数据更改记录并写入修改日志数据表中。

    复件 user_data3.es3

    复件 user_data3.es3

    R语言-十校联考成绩分析_ten_school_exams.zip

    R语言-十校联考成绩分析_ten_school_exams

    【SCI2区】基于matlab VMD-黏菌算法SMA-LSTM光伏预测【含Matlab源码 7678期】.zip

    CSDN海神之光上传的全部代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:Main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2023b;若运行有误,根据提示修改;若不会,可私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开除Main.m的其他m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博主博客文章底部QQ名片; 4.1 CSDN博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 VMD-智能优化算法优化LSTM回归预测系列程序定制或科研合作方向: 4.4.1 VMD-遗传算法GA/蚁群算法ACO优化LSTM回归预测 4.4.2 VMD-粒子群算法PSO/蛙跳算法SFLA优化LSTM回归预测 4.4.3 灰狼算法GWO/狼群算法WPA优化LSTM回归预测 4.4.4 VMD-鲸鱼算法WOA/麻雀算法SSA优化LSTM回归预测 4.4.5 VMD-萤火虫算法FA/差分算法DE优化LSTM回归预测 4.4.6 VMD-其他优化算法优化LSTM回归预测

    计算机四级网络选择题目

    题目有些标的答案,有些没有,大部分是用通义千问参考加答的,不保证全部正确。

    基于C语言的Horizon操作系统半成品设计源码

    该项目是基于C语言的Horizon操作系统半成品设计源码,包含157个文件,其中包括62个头文件(.h),52个C源文件(.c),8个Makefile文件(.mk),6个JSON配置文件,4个汇编语言文件(.asm),2个链接脚本文件(.lds),1个Clang格式配置文件(.clang-format),1个YAML配置文件(.yml),1个Git忽略文件(.gitignore)和1个许可证文件(LICENSE)。这个系统是一个独立制作的半成品操作系统。

    gadsgdsagsdagsadgdsa

    gsdagdsagdsagdsa

    全球多功能放射摄影和透视检查设备行业总体规模、主要企业国内外市场占有率及排名(2024版).docx

    全球多功能放射摄影和透视检查设备行业总体规模、主要企业国内外市场占有率及排名(2024版).docx

    【SCI2区】基于matlab VMD-斑马算法ZOA-LSTM光伏预测【含Matlab源码 7650期】.zip

    CSDN海神之光上传的全部代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:Main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2023b;若运行有误,根据提示修改;若不会,可私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开除Main.m的其他m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博主博客文章底部QQ名片; 4.1 CSDN博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 VMD-智能优化算法优化LSTM回归预测系列程序定制或科研合作方向: 4.4.1 VMD-遗传算法GA/蚁群算法ACO优化LSTM回归预测 4.4.2 VMD-粒子群算法PSO/蛙跳算法SFLA优化LSTM回归预测 4.4.3 灰狼算法GWO/狼群算法WPA优化LSTM回归预测 4.4.4 VMD-鲸鱼算法WOA/麻雀算法SSA优化LSTM回归预测 4.4.5 VMD-萤火虫算法FA/差分算法DE优化LSTM回归预测 4.4.6 VMD-其他优化算法优化LSTM回归预测

    湖北文理学院在湖南2021-2024各专业最低录取分数及位次表.pdf

    全国各大学在湖南2021-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据

    基于监督学习的web入侵检测系统源码毕业设计(前后端源码+数据库+使用文档)

    基于监督学习的web入侵检测系统源码毕业设计(前后端源码+数据库+使用文档),含有代码注释,满分大作业资源,新手也可看懂,期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为课程设计期末大作业使用,该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 基于监督学习的web入侵检测系统源码毕业设计(前后端源码+数据库+使用文档),含有代码注释,满分大作业资源,新手也可看懂,期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为课程设计期末大作业使用,该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 基于监督学习的web入侵检测系统源码毕业设计(前后端源码+数据库+使用文档),含有代码注释,满分大作业资源,新手也可看懂,期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为课程设计期末大作业使用,该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 基于监督学习的web入侵检测系统源码毕业设计(前后端源码+数据库+使用文档)

    Face_recognition_using_R_and_Baidu_API_R语言调用百度人脸识_

    Face_recognition_using_R_and_Baidu_API_R语言调用百度人脸识_r-face-recognition

    【毕业论文+源码】基于ASP的房产管理系统

    【毕业论文+源码】基于ASP的房产管理系统

Global site tag (gtag.js) - Google Analytics