2010-07-02 9 views
7

मैं JQuery का उपयोग कर HTTP प्राप्त करने का प्रयास कर रहा हूं, लेकिन मुझे प्रतिक्रिया के रूप में एक खाली स्ट्रिंग मिलती है, इसलिए मुझे लगता है कि मैं कुछ गलत कर रहा हूं। मैंने http://api.jquery.com/jQuery.get/ से एक गाइड के रूप में प्रलेखन का उपयोग किया।HTTP JQuery से Last.fm

मेरे कोड इस

$.get("http://www.last.fm/api/auth/?api_key=xxxkeyxxx", function(data){ 
    window.console.log(data); 
    }); 

संपादित की तरह दिखता है: मेरी कोड अब इस

$.getJSON("http://www.last.fm/api/auth/?api_key=c99ddddddd69ace&format=json&callback=?", 
    function(data){ 
     window.console.log(data); 
    }); 

तरह लग रहा है लेकिन मैं एक सिंटेक्स त्रुटि हो रही है [इस त्रुटि पर तोड़] \ N

और यह http://www.last.fm/api/auth/?api_key=c99ddddddd69ace&format=json&callback= में स्थित है?

नवीनतम संपादित करें: यह इस लगता है, क्योंकि last.fm एचटीएमएल JSON, किसी भी विचार

उत्तर

1

last.fm प्रवेश पृष्ठ के साथ जवाब देंगे ... दस्तावेज़ों की जांच करें ...

यदि उपयोगकर्ता अंतिम.एफएम में लॉग इन नहीं है, तो वे से पूछे जाने से पहले लॉग इन पेज पर पर रीडायरेक्ट किया जाएगा, अपने खाते का उपयोग करने के लिए अपनी वेब एप्लिकेशन अनुमति प्रदान करें। यह पेज पर वे, अपने एप्लिकेशन के नाम देखेंगे आवेदन विवरण और के रूप में लोगो धारा में आपूर्ति 1.

http://www.last.fm/api/webauth

3

सराहना की जाएगी जब तक कि अपनी स्क्रिप्ट www.last.fm से कार्य किया जा रहा है के साथ जवाब है, तो आप ऐसा करने में सक्षम नहीं होगा, Same Origin Policy ब्राउज़र द्वारा लगाए गए प्रतिबंधों के कारण।

आपको अपने सर्वर के माध्यम से proxying the request की जांच करनी चाहिए।

+0

से नकल मैं इस करते हैं कैसे के साथ HTTP फिर अनुरोध प्राप्त करें? last.fm के दस्तावेज़ http://www.last.fm/api/webauth – Crothers

+0

से कुछ और जानकारी यहां दी गई है, मैंने अपना उत्तर अपडेट किया है जिसमें एक कार्य-तकनीक तकनीक शामिल है। असल में, आपके द्वारा प्रदान किए गए लिंक में वर्णित एपीआई को ब्राउज़र में जावास्क्रिप्ट के बजाए सर्वर-साइड कोड (या स्टैंड-अलोन एप्लिकेशन में कोड) द्वारा एक्सेस किया जाना है। – pkaeding

+0

प्रॉक्सी का कोई कारण नहीं है क्योंकि '$ getJSON()' विशेष रूप से इस तरह के अनुप्रयोगों के लिए डिज़ाइन किया गया था। – HurnsMobile

1

पकाडिंग आंशिक रूप से सही है - आप जिस तरीके से प्रयास कर रहे हैं, वैसे ही ऐसा करने में सक्षम नहीं होंगे, लेकिन last.fm जेसन के साथ एक विश्वसनीय API प्रदान करता है।

Last.fm एपीआई - http://www.last.fm/api/rest

jQuery एपीआई - http://api.jquery.com

+0

भले ही आपको JSON में प्रतिक्रियाएं मिल रही हों, आप ब्राउज़र में जावास्क्रिप्ट से सेवा (सीधे) तक पहुंच नहीं पाएंगे। आपको अभी भी अनुरोध को प्रॉक्सी करने की आवश्यकता होगी। – pkaeding

+0

यह पेटेंट झूठा है।'Get getJSON()' पर पढ़ें। – HurnsMobile

+0

मैं सही खड़ा हूँ। जब तक आप JSONP को इंगित करने के लिए ध्वज सेट करते हैं, तो आप एक अलग मूल तक पहुंचने में सक्षम होना चाहिए। – pkaeding

1

तुम किसी के डेटा क्रॉस डोमेन here is an example and thread ऐसा करने के लिए हो रही iin विधि jsonp उपयोग करने की आवश्यकता

+0

$ पोस्ट किया है .getJSON ("http://www.last.fm/api/auth/?api_key=c9946d11002aea09f23b14faac469ace&format=json&callback=?", \t फ़ंक्शन (डेटा) { \t \t window.console.log (डेटा); \t}); कोड इस तरह दिखता है। मुझे सही रिटर्न वैल्यू मिल रहा है, लेकिन मुझे "सिंटैक्स त्रुटि [इस त्रुटि को तोड़ने] की वापसी में त्रुटि मिल रही है \ n" – Crothers

+0

ऐसा लगता है क्योंकि मैंने JSON प्रतिक्रिया का अनुरोध किया लेकिन वापसी एचटीएमएल में था – Crothers