Titanium教程day3-使用远程数据

原文: http://wiki.appcelerator.org/display/guides/Working+with+Remote+Data
要点
    * 怎样通过HTTPClient和远程交互
    * 怎样取得XML或JSON格式的数据
    * 怎样下载和上传文件
    * 使用SOAP网络服务的必要步骤
    * 使用HTTP头

Titanium中的远程数据

通过Titanium.Network 命名空间使用HTTPClient 对象来进行HTTP数据交互。HTTPClient的API类似于网页浏览器中的XMLHTTPRequest 对象,如果你做过浏览器中的Ajax程序(像Dojo 或jQuery库,他们用XMLHTTPRequest),就会对HTTPClient 很熟悉。

HTTPClient和RESTful资源

可以用HTTPClient和各种流行的网络服务交互,最简单的就是REST-style的网络服务。讲解RESTful 网络服务超出了本书的范围,你可以看这里。对我们来说,只要理解“resource”只是网络上的bit数据而已,用URI指定。还有,手机程序可以用HTTP GET 和POST请求 和网络交互(HTTPClient支持绝大多数的HTTP交互 )。

GET请求

做一个GET请求(或者其他类型的请求)包括3步:
    * 创建 HTTP Client
    * 打开HTTP链接,指向特定源
    * 发送HTTP请求
使用Titanium的JS的API:
var xhr = Ti.Network.createHTTPClient(); // returns an instance of HTTPClient
xhr.open('GET','http://www.google.com');
xhr.send();

仅仅发送请求没什么用。需要后台响应,由response body支持。指定回调函数来访问数据。有很多回调函数。最常用的是onload和onerror。
var xhr = Ti.Network.createHTTPClient(); // returns an instance of HTTPClient
 
xhr.onload = function(e) {
//this fires when your request returns successfully
//this.responseText and this.responseXML
//will be used often
};
 
xhr.onerror = function(e) {
//this fires if Titanium/the native SDK cannot successfully retrieve a resource
};
 
xhr.open('GET','http://www.google.com');
xhr.send();

POST请求

标准的HTML形式。一般用POST (或PUT)请求。Titanium 有简单的方法发送POST body请求。可以自动分析JS对象转化成form-encoded的POST 参数。
var xhr = Ti.Network.createHTTPClient();
 
xhr.onload = function(e) {
//handle response
};
 
xhr.open('POST','http://www.myblog.com/post.php');
xhr.send({
title:'My awesome blog',
body:'Today I met Susy at the laundromat.  Best day EVAR\!'
});
也可以发送任何形式的文本内容:
xhr.send('<some><xml><data></data></xml></some>');

使用数据

在生命周期事件中,你会解析从后台发回的数据。HTTPClient对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值