/ / याहू प्राप्त करना! वित्त RSS JQuery और Google API त्रुटि का उपयोग कर रहा है - jquery, rss, google-api, yahoo

याहू प्राप्त करना JQuery और Google API त्रुटि का उपयोग कर वित्त आरएसएस - jquery, rss, google-api, याहू

याहू से आरएसएस प्राप्त करने की कोशिश कर रहा है! एंड्रयू और डायलन वैलाडे के उत्तरों के आधार पर वित्त JQuery के साथ आरएसएस पार्स करें लेकिन एक त्रुटि प्राप्त करना:

data.responseडेटा शून्य है

सफलता() डेटा = ऑब्जेक्ट {responseDetails="फ़ीड लोड नहीं किया जा सका।", responseStatus=400, responseData=null}

ब्राउज़र या PHP कर्ल से समान URL लोड करने से RSS डेटा ठीक हो जाता है

यूआरएल: http://feeds.finance.yahoo.com/rss/2.0/headline?s=^एफटीएसई, यूआरएल एनकोड: http%3A%2F%2Ffeeds.finance.yahoo.com%2Frss%2F2.0%2Fheadline%3Fs%3D%5EFTSE

मेरे Mac पर स्थानीय vhost से परीक्षण (OS X 10.5.4)8, एक्सएएमपीपी 1.7.3)। मैंने zRSSfeed प्लगइन की कोशिश की जो Google API का भी उपयोग करता है, और वही त्रुटि प्राप्त करता है: "फ़ीड लोड नहीं किया जा सका"। इंडेक्स डेटा और चार्ट ठीक काम कर रहे हैं

अग्रिम में धन्यवाद


function getRSS(symbol, url, callback) {
$("#rss").html("http://feeds.finance.yahoo.com/rss/2.0/headline?s="+symbol+"<br />");
$("#rss").append(encodeURIComponent(url));
$.ajax({
url: document.location.protocol + "//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=" + encodeURIComponent(url),
dataType: "json",
success:
function (data) {
callback(data.responseData.feed);
},
error:
function (jqXHR, textStatus, errorThrown) {
$("#rss").append("<span class="downVal">"+textStatus+"</span>");
$("#rss").append("<br />"+"<span class="downVal">"+errorThrown+"</span>");
}
});
}

function parseRSS(newsFeed) {
$("#rss").append(newsFeed);
}

jQuery(document).ready(function($) {
...
summary(symbol);
$("#chart").html("<img style="-webkit-user-select:none" src="/images/http://chart.finance.yahoo.com/z?s="+symbol+"&t=3m&q=l&l=on&z=m&p=m20,m200,v&a=r14,m26-12-9">");
getRSS(symbol, "http://feeds.finance.yahoo.com/rss/2.0/headline?s="+symbol, parseRSS);
...

उत्तर:

जवाब के लिए 3 № 1

इंगित करने वाली पहली बात यह है कि फ़ीड 400 कोड लौटा रहा है - इसलिए के अनुसार W3C अनुशंसाएं, आपको कॉल को दोहराना नहीं चाहिए.

10.4.1 400 खराब अनुरोध

अनुरोध सर्वर द्वारा विकृत होने के कारण समझा नहीं जा सका वाक्य - विन्यास। ग्राहक बिना अनुरोध दोहराए नहीं संशोधनों।

जब मैं यूआरएल खोलता हूं:

http://feeds.finance.yahoo.com/rss/2.0/headline?s=^FTSE

मुझे 404 त्रुटि मिलती है, इसलिए शायद खोज "हमेशा मान्य नहीं है या दर सीमित है?

यदि आप आश्वस्त हैं कि कॉल ठीक है, तो संभवतः उस लाइन में कोई समस्या है जो फ़ीड को कॉल करती है:

$("#rss").html("http://feeds.finance.yahoo.com/rss/2.0/headline?s="+symbol+"<br />"

तो इसे वापस पट्टी करें, यह सुनिश्चित करने के लिए प्रतीक चर को सतर्क करें कि यह वही है जो आप चाहते हैं, कुछ प्राथमिक डिबगिंग के लिए निम्न की तरह लाइनें जोड़ें:

alert (symbol);
var feedUrl = "http://feeds.finance.yahoo.com/rss/2.0/headline?s="+symbol;
alert (feedUrl);

... और अंत में जांचें कि क्या जोड़ना है <br /> वास्तव में फ़ीड यूआरएल तोड़ रहा है।