主页 → JSON

腾讯官方 JSONP 接口调用微博 [II]

因为腾讯给的接口有刷新限制,新手每小时1000次,平均算下来4.几秒一次,很明显并不是每次都能成功获取的,所以我重写了加载函数,0.5秒加载一次,直到成功为止.另外,我还重写了显示函数,鼠标移过的时候会自动伸展显示下面的内容,左击右击切换的功能依然还在,但自动翻页被我去掉了,已经用处不大了....
下面是代码...

阅读全部 ...

腾讯官方 JSONP 接口调用微博

先简单写一下,后面告诉大家这玩意儿是如何工作的.

<script type="text/javascript">
function weiboData(d){
    for(i in d.data){
        if(d.data[i].nick.length > 45) d.data[i].nick.substr = d.data[i].nick.substring(0, 45) + '...';
        switch(d.data[i].type){
        case 1:
            var type = '广播';
            break;
        case 2:
            var type = '转播';
            break;
        case 3:
            continue;
            break;
        case 4:
            var type = '对话';
            break;
        }
        var text = '<li><span class="left">'+ type +': '+ d.data[i].content +
                    '</span><span class="right">'+getTime(d.data[i].timestamp)+' 来自: '+d.data[i].fromarea+'</span></li>';
        $('#notice ul').append(text);
    }

    ...
}
</script>
<script type="text/javascript" src="http://v.t.qq.com/output/json.php?type=1&name=tinystrong&sign=8efce5b1f39e7a2f9a833387f82d02c1586ac456"></script>

1. 首先要声明一个名称为 weiboData 的函数(为啥要命名为weiboData,接着往下看...)
2. 加载一段 JS (实际上是JSONP啦)
3. 没了....

瞧,多简单啊,我们只要在 weiboData 函数里做处理就行了,
那有人会奇怪,光声明这个函数,那它啥时候被调用呢?
嗯,所以呢下面就要加载一段 js 了,js有三个参数
type,name,sign
这三个参数分别是
类型(1=微博,2=时间轴)
微博帐号
微博Sign(你无须管他是什么,从这里就可以得到 http://open.t.qq.com/home)

嗯,我们来分析一下这个 json.php 下面是内容,简单写一下

weiboData({"data":[{"content":"我们这些ring0的柔情,你们搞ring3的永远不懂!","count":0,"from":1,"fromarea":"腾讯微博","id":61634130877182,"image":null,"isvip":0,"name":"tinystrong","nick":"宅男小强","pic":"http://mbloghead.store.qq.com/mbloghead/e9bc30c5b118380aacc8","status":0,"timestamp":1324224245,"type":1})

JSONP是什么? 说白了就是JS

浏览器加载完 json.php 后会把他当js来执行
很明显他需要调用一个名叫weiboData的函数,并把后面的数据当参数传进去(这就是为啥上面要大家把函数命名叫weiboData的原因)
接着在我们这个weiboData里就能获取到后面的数据啦(OBJECT类型的)

啥..不懂>>>> 你火星了
啥..还是不懂>>>> 不懂神马 json.php 的内容么? 靠,这个文档我木有...自己分析吧...

Ajax 学习心得 [原创]

Ajax 的核心是 XMLHttpRequest 对象,其实写来写去无非就是做表单的提交,表单有两种提交方法(POST 跟 GET),当然 XMLHttpRequest 对象也支持可以用这两种方法来提交数据,总之,表单能提交什么它就能提交什么.唯一不同的是普通表单返回需要刷新网页,将所需要返回的数据在新页面里呈现出来,但是 XMLHttpRequest 可以不用刷新,直接利用当前页面的一个元素来显示我们需要的东西,而且返回的形式基本没啥限制,呵呵``是不是很方便啊``不过说来说去无非还是在文本上做手脚,从HTTP到XML再到JSON,说来说去都还是文本.唯一不同的只是性质发生了点变化而已.
来说说 XMLHttpRequest 吧,这东西其实也没什么复杂的,呃~~我还是贴个 HelloWorld 出来吧,不写两行代码总感觉不爽呢:

阅读全部 ...