2015-07-07 9 views
12

मैं jQuery का उपयोग कर MailChimp आरएसएस फ़ीड से शीर्षक और विवरण निकालने का प्रयास कर रहा हूं।Mailchimp संग्रह से तत्व पुनर्प्राप्त करें आरएसएस

मैं के साथ कोशिश कर रहा हूँ:

$.ajax({ 
    type: 'GET', 
    url: 'http://us10.campaign-archive1.com/feed?u=21a65076da97205b5e5ff33e6&id=cc8bfc765e', 
    crossDomain: true, 
    dataType: 'jsonp', 
    success: function (xml) { 
     $(xml).find("item").each(function() { 
      var title = $(this).find("title").text(); 
      var description = $(this).find("description").text(); 
      var linkUrl = $(this).find("link_url").text(); 
      var link = "<a href='" + linkUrl + "' target='_blank'>Read More<a>"; 
      $('#feedContainer').append('<article><h3>' + title + '</h3><p>' + description + link + '</p>'); 
     }); 
    } 
}); 

लेकिन मैं त्रुटि मिलती है:

Uncaught SyntaxError: Unexpected token < on 
http://us10.campaign-archive1.com/feed?u=21a65076da97205b5e5ff33e6&id=cc8bfc765e&callback=jQuery214010618008393794298_1436280190025&_=1436280190026 

यदि यह jQuery के माध्यम से संभव नहीं है, वहाँ एक और तरीका है? मैंने याहू डेवलपर कंसोल के साथ प्रयास किया लेकिन robots.txt पहुंच को अस्वीकार करता है ..

ऐसा लगता है कि मेलचंप ब्राउज़र से नहीं पहुंचता है, मैंने URL को घुमाने की कोशिश की और मुझे 404 नहीं मिला।

उत्तर

2

Uncaught SyntaxError: Unexpected token < on http://us10.campaign-archive1.com/feed?u=21a65076da97205b5e5ff33e6&id=cc8bfc765e&callback=jQuery214010618008393794298_1436280190025&_=1436280190026

उपरोक्त त्रुटि तथ्य के कारण होता है के लिए jQuery के साथ क्वेरी से पहले XML को पार्स करने की जरूरत है कि जेएसओएनपी को लौटाए गए डेटा को वैध JSON/जावास्क्रिप्ट की आवश्यकता होती है, जो एक्सएमएल नहीं है।

दुर्भाग्य JSONP अपने मामले में की जरूरत है CORS के रूप में इस विशिष्ट सर्वर पर सक्षम नहीं है। (CORS for Apache देखें)

परिणाम है कि आप jQuery उपयोग नहीं कर सकते केवल लौटे डेटा JSON के लिए बदला जा सकता है।

मैं सिर्फ मेरे लिए curl की कोशिश की, और यह ठीक से काम करने लगता है, कोई 404 त्रुटि, हो सकता है आप एक प्रॉक्सी का उपयोग करने की आवश्यकता है? और सुनिश्चित करें कि आपका उद्धरण यूआरएल है, क्योंकि चरित्र & विशेष रूप से एक खोल में संभाला जाता है।

curl 'http://us10.campaign-archive1.com/feed?u=21a65076da97205b5e5ff33e6&id=cc8bfc765e' 

और आप कर्ल का उपयोग करने जा रहे हैं, इस तरह के xmllint के रूप में एक से अधिक विकल्प एक्सएमएल पार्स करने के लिए, हो सकता है, को देखने के How to parse XML using shellscript?

यहाँ एक उदाहरण xmllint उपयोग कर रहा है:

xmllint --nocdata --xpath '//item[1]/title/text()' <(curl -s \ 
    'http://us10.campaign-archive1.com/feed?u=21a65076da97205b5e5ff33e6&id=cc8bfc765e') 

AVVIO ANNO SCOLASTICO 2015/2016 
:

यह पहला खिताब प्रिंट

संबंधित मुद्दे