2012-11-16 91 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