2011-08-10 42 views
1

我的代碼:jQuery的AJAX:無效的標籤

$.ajax({ 
     url: 'http://tinysong.com/b/Beethoven?format=json&key=<my key..>', 
     dataType: 'jsonp', 
     success: function(response) { 
      console.log(response); 
     } 
    }); 

螢火蟲 「無效的標籤」。但是,當我訪問我的瀏覽器中的網址,我看到:

{"Url":"http:\/\/tinysong.com\/7Wm7","SongID":8815585,"SongName":"Moonlight Sonata","ArtistID":1833,"ArtistName":"Beethoven","AlbumID":258724,"AlbumName":"Beethoven: Piano Sonatas"} 

看起來像一個corret json字符串給我。我錯過了什麼嗎?謝謝!

+0

你能分享更多周圍的代碼?也許有事情在那裏。 – Pelshoff

回答

1

這就是JSON。你在dataType中要求一個JSONp字符串,這需要你的輸出被封裝在一個函數中。

+0

好吧,既然它在另一個領域,我想它的需要是jsonp? – Johan

+0

是的,這意味着其他域必須支持構建JSONp。 –

+0

好吧,但是當我指定json作爲格式時,這就是我得到的。有沒有其他的方法可以解決這個問題,或者他們需要提供一個jsonp對象嗎? – Johan

0

一種可能的解決方案是here。 Hovewer,如果你是從同一個域中執行的請求,你不必使用JSONP,所以你可以用dataType: 'json',

+1

它的跨域。 – Johan

1

嘗試更換dataType: 'jsonp',

$.getJSON('http://tinysong.com/b/Beethoven?format=json&key=<my key..>&callback=?', function(data){ 
    console.log(data); 
}); 
+0

謝謝,但沒有工作... – Johan

+0

它吐出相同的錯誤嗎? – rickyduck