
我想大家见拆合菜单也见烦了,接下来的几篇教程不再使用拆合菜单的例子,今天明河来说说kissy中的ajax,很遗憾,截止到1.1.5版kissy的ajax方面API还没放出,目前只有getScript方法,用于获取json数据。
kissy的ajax方面的功能一延再延,的确还是让人失望的。等1.2ajax功能放出后,这部分功能的说明,明河日后补上。
这次只测试KISSY.getScript()
KISSY.getScript()的文档请猛击这里进入。
使用KISSY.getScript()获取做啥微博公共数据
由于做啥API返回数据比较慢,请耐心等待结果,或直接看demo,demo地址在文章尾部。
var S = KISSY;
S.use('core',function(){
var Event = S.Event,DOM = S.DOM,
//回调函数名(用于jsonp)
CALLBACK = 'getPublic';
Event.on('#get-public-data','click',onGetData);
/**
* 获取做啥公共消息
* @param {Object} ev 事件对象
*/
function onGetData(ev){
S.getScript("http://api.zuosa.com/statuses/public_timeline.json?callback="+CALLBACK)
}
});
/**
* jsonp的回调函数,当请求完数据后执行
* @param {Object} data 数据
*/
function getPublic(data){
if(data.length > 0){
var arrHtml = [],_li = null,user;
//数据处理
S.each(data,function(item){
user = item["user"];
_li = "<li class='clearfix'><div class='user l'><img src='"+user['profile_image_url']+"' /><p>"+user["screen_name"]+"</p></div>"+item["text"]+"</li>";
arrHtml.push(_li);
});
//将生成的li添加到列表内
S.DOM.html(S.get('#zuosa-public-list'),arrHtml.join(""));
}
}
当然,这里明河没有做到非常细致,只获取几个基础的数据。
getScript有三个参数,但实际上明河只用到了第一个参数即url,这是因为这里使用的jsonp,当数据返回时会自动执行回调函数getPublic,不再需要第二个参数(获取json数据后执行的回调函数)。
4、明河结语
ajax方面的更详细介绍,留待1.2出来后,明河补上。不知不觉明河已经发到第九篇了,kissy常用的功能点,基本上都有提到了,下面的教程将讲解kissy更深入的东西,比如继承机制、模块机制等。

等到有时间了慢慢看吧