2012-11-14 97 views
0

所以我有一個Typepad博客,並希望加載一些職位到我自己的網站。我查看了Typepad API,但它看起來過於複雜。 Typepad還提供一個小部件,但只顯示帖子標題和hrefs,而且我也需要這些內容。簡單的ajax調用來獲取Typepad博客的atom.xml

因此,這裏是我在做什麼,我都包含在頁面jQuery的:

$.ajax({ 
    url: 'http://notes2self.typepad.com/notes/atom.xml?callback=?', 
    type: 'GET', 
    dataType: 'jsonp', 
    success: function(feed) { 
     console.log(feed); 
    }, 
    error: function(err) { 
     console.log(err); 
    } 
}); 

它記錄了「成功」,但對象記錄的樣子,我想將它返回XML一個XMLHttpRequest響應內容:

Object {readyState: 4, status: 200, statusText: "success"}

另外,在瀏覽器上OSX,控制檯登錄使用atom.xml的第1行的錯誤:

Uncaught SyntaxError: Unexpected token <

我明顯在做一些非常基本的事情。任何提示指向我在正確的方向?

回答

0

我在這裏猜測返回類型是無效的。如果你去http://notes2self.typepad.com/notes/atom.xml?callback=?那麼你會以XML獲得結果(查看源代碼)。

您的jQuery期待JSON的返回類型,因此無法解析結果。這在Chrome錯誤消息中顯示了意外的「<」字符。

爲了證明這一點,請嘗試:

$.ajax({ 
    url: 'http://notes2self.typepad.com/notes/atom.xml?callback=?', 
    type: 'GET', 
    dataType: 'xml', 
    success: function(feed) { 
     console.log(feed); 
    }, 
    error: function(err) { 
     console.log(err); 
    } 
}); 

,並看看有沒有回來(飼料)的任何結果。

本文介紹瞭如何完成跨域請求的基於XML的返回類型:http://www.isgoodstuff.com/2012/07/22/cross-domain-xml-using-jquery/