dojo 十 ajax dojo/_base/xhr
官方教程:Ajax with Dojo
Ajax功能:
1.从服务器加载静态数据
2.从web服务中访问xml或json类型的数据
3.将表单(form)数据发送到服务器
4.刷新页面内容
。。。。
Ajax在RIA中是核心技术,下面来看看Dojo是如何运用它的。
// Require the xhr module
require([
"dojo/_base/xhr"
,
"dojo/dom"
],
function
(xhr,dom) {
// Local var representing the node to be updated
var
availabilityNode = dom.byId(
"availabilityNode"
);
// Using xhr, as very little information is being sent
xhr.get({
// The URL of the request
url:
"check-username.php"
,
// Allow only 2 seconds for username check
timeout: 2000,
// Send the username to check base on an INPUT node's value
content: {
username: dom.byId(
"usernameInput"
).value.toLowerCase()
},
// The success callback with result from server
load:
function
(result) {
if
(result ==
"available"
) {
availabilityNode.innerHTML =
"Username available!"
;
}
else
{
availabilityNode.innerHTML =
"Username taken! Please try another."
;
}
},
// The error handler
error: function(errorMessage){
alert(errorMessage);
}
,
// The complete handler
handle:
function
() {
hasBeenSent =
true
;
}
});
});
首先要引入包dojo/_base/xhr。
然后通过调用xhr.get或xhr.post这两个常用的方法来发送请求。
这两个方法的参数是一个对象,包含以下属性:
url:请求的服务器地址
handleAs:返回数据的格式,默认为"text",可选"json","javascript"(加载并执行),"xml"
timeout:请求超时,以毫秒记算,当超过这个时间视为请求失败并触发error处理函数
content:请求时发送的内容,是一个“键-值”对形式的对象。如果调用的是get方法,会被转换为一个字条串,如果是post方法,则转换为post内容体。
form:指定一个表单节点对象,将会发送表单内所有的数据,此时如果没有指定url,将会采用form属性action的值,如果同时设置content将会覆盖form中的内容,不建议同时使用
当服务器接受到请求并做出回应后,可以通过以下三个方法来处理:
load(response, ioArgs):请求成功时的回调函数,第一个参数就是根据handleAs指定的格式返回的数据内容。
error(errorMessage) :请求失败时的回调函数,数据为失败的信息
handle(response, ioArgs) :不论成功或失败都将调用的回调函数
根据请求是否成功,首先会调用load/error函数,然后调用handle
JSON数据结构
JSON是以“键-值”对为单位的数据结构,如{"name":"mqsy_yj", "age":30,"ismale",true},键为"name",值为"mqsy_yj"。
“键-值”对之间用逗号分隔,大括号为一个JSON对象,多个JSON对象用逗号分隔并包含在一个中括号内为一个JSON对象数组。
在dojo中对JSON的处理方法为:
require(["dojo/_base/array"],function(array){
var jsonData = {"newsItems":[{"name":"mqsy_yj", "age":30,"ismale",true},{"name":"mqsy_yj1", "age":31,"ismale",false}]};
var
content =
""
;
// For every news item we received...
arrayUtil.forEach(jsonData.newsItems,
function
(newsItem) {
// Build data from the JSON
content +=
"<h2>"
+ newsItem.name+
"</h2>"
;
content +=
"<p>"
+ newsItem.age+
"</p>"
;
content +=
"<p>"
+ newsItem.ismale+
"</p>"
;
});
});
转载于:https://www.cnblogs.com/tiandi/p/3415910.html
dojo 十 ajax dojo/_base/xhr相关推荐
- ajax dojo deferred,dojo(四):ajax请求
储备知识 1.在介绍新版本的ajax请求之前,需要先了解一些dojo/Deferreds. 初次听到"Deferred"这个概念,可能会觉得这是一个神秘的东西.实际上它在执行异步操 ...
- 用Dojo实现Ajax请求:XH“.NET研究”R、跨域、及其他
在任何浏览器上方便地实现Ajax请求是每一个Ajax框架的初衷.Dojo在这方面无疑提供了非常丰富的支持.除了XMLHttpRequest之外,动态script.iframe.RPC也应有尽有,并且接 ...
- dojo 官方翻译 dojo/_base/array 版本1.10
官方地址:http://dojotoolkit.org/reference-guide/1.10/dojo/_base/array.html#dojo-base-array array模块dojo进行 ...
- dojo 九 effects dojo/_base/fx 和 dojo/fx
官方教程:Dojo Effects 这里讲学习一下dojo如何实现淡入.淡出.滑动等效果. 实现这些特殊的效果有两个包 dojo/_base/fx 和 dojo/fx. dojo/_base/fx 中 ...
- Dojo API中文 Dojo内容模块概览,初学者
官网:http://dojotoolkit.org/reference-guide/1.10/dojo/index.html#dojo-dojo的翻译 dojo 内容: dojo dojo/dojo ...
- dojo初解和dojo.connect用法(转)
最近在学习arcgis javascript api,javascript api是基于Dojo,所以先熟悉一下Dojo. DOJO常用的: 1,通过dojo.require以类似C编程中#inclu ...
- dojo Quick Start/dojo入门手册--package机制
说完了dojo里的类继承机制,不得不说说package机制. 主要用到的有 dojo.require dojo.provide dojo.registerModulePath dojo.require ...
- dojo Quick Start/dojo入门手册--xmlhttp dojo.xhrGet
OK,介绍了简单的DOM操作方法,接下来该到Ajax的传统项目-XmlHttp了.在使用xmlhttp时,需要注意到编码的问题,要让dojo默认绑定为utf-8怎么办呢?很简单,只需要修改一下引入do ...
- ArcGIS中加载模块时dojo/domReady!和dojo/ready的区别
我们在使用ArcGIS Javascript API开发时,最开始要先加载模块: <script>require(["esri/map", "dojo/do ...
最新文章
- 初学者必学的C++项目!花3天搞定
- archlinux安装chrome-webdriver
- 红黑树分为红和黑有什么好处_彻底搞懂红黑树
- Java LinkedList类基本用法
- python 文本处理库_推荐8种目前Python使用率最高的文本处理工具
- Micropython教程之TPYBoard开发板驱动舵机教程(萝卜学科编程教育)
- 49个Python的常见操作/技巧/例子
- 360好还是电脑管家好_安装了电脑管家,为什么电脑还是卡?
- OSI参考模型在网络系统中的应用浅析
- c语言进程调度报告,操作系统C进程调度算法实验报告
- 奔图打印机显示未连接_奔图打印机常见故障及解决方法
- APP限制录屏怎么办?如何绕过APP录屏限制和截图限制-支持安卓和IOS
- js利用点击事件更换皮肤
- 小程序源码:经典语录大全微信小程序下载多种分类语录
- 广义相对论-学习记录6-第三章-张量分析与黎曼几何3
- fetchone()和fetchall()的准确读音
- 国产Linux系统UOS安装
- 电商API数据采集,教你如何获取商品详情数据
- 软件体系结构层次风格
- DWcs4右下角没有html文件,Dreamweaver cs4 cs5 spry菜单栏使用教程 详细教程 超好珍藏...
热门文章
- pythonajax学习_python学习-- django 2.1.7 ajax 请求
- 成功没有捷径python_成功,大部分时候并没有捷径
- mysql8.0.20安装教程linux_Linux下安装mysql-8.0.20的教程详解
- linux java占用199%,linux分区使用率过高又查询不到被哪些文件占用的问题
- 远程开启admin$共享(远程管理需开启如dameware软件)
- Unity3D之Material(材质、着色器、纹理)
- mybatis映射多对多查询实现
- CentOS学习笔记 - 7. jekins安装 1
- 在 Linux 下使用 RAID(九):如何使用 ‘Mdadm’ 工具管理软件 RAID
- MySQL数据库加密和解密~认证登陆密码(mysql.user)和MySQL不区分大小写