2012-11-16 111 views
0

我有一点困难。我似乎无法找到如何使用jsonp从跨域站点读取xml到我的列表(因为仅当源位于同一个域时才使用ajax)。sencha touch 2如何用jsonp读取crossbrowser xml

不然我和proxy:{ type:'jsonp', url:'http://www.aftonbladet.se/rss.xml',reader:{type:'xml',record:'item'}}

连接,但与 “未捕获的SyntaxError:意外的标记< rss.xml:1” 结束了在控制台中。

我有一个关于肌酸某种回调的预感,但多数民众赞成...我有点卡住了。

任何帮助将不胜感激

回答

0

JSONP不是XML。 XML不是JSONP。你使用一个或另一个。

Sencha Touch中有一个XML阅读器。这可能是你正在寻找的东西:http://docs.sencha.com/touch/2-1/#!/api/Ext.data.reader.Xml

Ext.define('User', { 
    extend: 'Ext.data.Model', 
    config: { 
     fields: ['id', 'name', 'email'] 
    } 
}); 

var store = Ext.create('Ext.data.Store', { 
    model: 'User', 
    proxy: { 
     type: 'ajax', 
     url : 'users.xml', 
     reader: { 
      type: 'xml', 
      record: 'user' 
     } 
    } 
}); 
+0

这是我的混淆部分。我现在不一样了。 但因为我连接到外部域使用代理可以实际上仍然是ajax?我已经阅读了您所引用的页面,但他们只在同一个域中使用xml。 如果我与代理连接typ:ajax和reader type:xml - 我得到这个错误: XMLHttpRequest无法加载http://www.aftonbladet.se/rss.xml?_dc=1353171349636&page=1&start=0&limit=25。 Access-Control-Allow-Origin不允许使用Origin http://127.0.0.1。 – Pedroinpeace

+0

Sencha Touch不支持开箱即用的跨域XML。 – rdougan

+1

感谢您的回答rdougan。你非常正确。 但最后我找到了解决这个问题的解决方案,和我一样麻烦。这是一个解决方法: ** http://www.sencha.com/forum/showthread.php?12852-ScriptTagProxy-and-XML)** 或查看sencha kiva。 – Pedroinpeace