2011-09-17 14 views
0

我不確定這裏發生了什麼。我試圖使用jQuery和ajax請求拉一個公共RSS源。這是代碼snipet。隨意嘗試網址來幫助。使用jquery檢索rss字段的問題

使用螢火蟲我可以看到要求出去。我從服務器收到200 Ok,但回覆爲空。

$.ajax({ 
    type: "GET", 
    url: "http://www.andersen-const.com/news-events?view=newsevents&task=view&type=news&id=99", 
    dataType: "xml", 
    success: function(xml) { 
     $(xml).find('article-content').each(function() { 
      var heading = $(this).find('h3').text(); 
       $('<div class="items" id="link_'+count+'"></div>').appendTo('#news_canvas'); 
       count = count + 1; 
     }); 
    } 
}); 

回答

0

由於瀏覽器中的跨源策略,您不能僅從其他域中提取XML源。此外,該鏈接不是XML feed,它只是一個普通的網站。

你在做什麼它刮一個頁面的內容,並將他們拉進來。你可以用雅虎的YQL做到這一點,後者會在你和網站之間產生一個服務器端。

這裏是一個鏈接,讓你開始與已經挑出#articleContent DIV:

http://developer.yahoo.com/yql/console/#h=SELECT%20*%20FROM%20html%20WHERE%20url%3D%22http%3A//www.andersen-const.com/news-events%3Fview%3Dnewsevents%26task%3Dview%26type%3Dnews%26id%3D99%22%20AND%20xpath%3D%22//div%[email protected]%3D%27article-content%27%5D%22

+0

是的,謝謝我做了虛報的問題一點點。在這個階段,我試圖去瀏覽html。我真的不想使用外部服務來進行修剪。我不完全確定爲什麼我可以將該鏈接粘貼到我的瀏覽器中並返回頁面,但在使用ajax時無法獲得結果。 –

+0

這是因爲跨域策略。如果它在另一個域上,則無法獲取它的內容 – wesbos