【问题标题】:ExtJS Twitter timelineExtJS Twitter 时间线
【发布时间】:2012-03-26 01:12:27
【问题描述】:

我正在尝试在我的一个应用程序中构建一个简单的 twitter 时间线功能,但缺乏知识并且无法真正找到任何像样的在线教程。

在 ExtJS 中使用 JSON 和 JSONP 请求有不同的方式吗?

代码:

Ext.Ajax.request({
    url: 'https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=NynasBo&count=2',
    method: 'GET',
    success: function(response, opts) {
        var obj = Ext.decode(response.responseText);
        console.dir(obj);
    },
    failure: function(response, opts) {
        console.log('server-side failure with status code ' + response.status);
    }
});​

回复:

XMLHttpRequest cannot load https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=NynasBo&count=2&_dc=1331218369365 Origin is not allowed by Access-Control-Allow-Origin.

怀疑它应该只是一个 JSONP 请求...

感谢任何帮助。

【问题讨论】:

    标签: json extjs sencha-touch jsonp


    【解决方案1】:

    是的,您必须使用 JSONP。所以,要么是这样的请求:

    Ext.data.JsonP.request({
       url: 'YOUR JSONP URL',
       callbackName: 'someCallbackFunctionName',
       success: function(data) {
           console.log(data);
       }
    });
    

    否则你必须像这样使用 ScriptTagProxy:

    var store = Ext.create('Ext.data.Store', {
        model: 'User',
        proxy: {
            type: 'jsonp',
            url : 'https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=NynasBo&count=2'
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2019-10-23
      • 1970-01-01
      • 1970-01-01
      • 2021-12-04
      • 2017-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-11
      相关资源
      最近更新 更多