2016-10-23 39 views
0

我試圖讓一個跨域ajax請求deezer,一個音樂流api ...並且我得到一個「Uncaught SyntaxError:Unexpected token:」錯誤。我知道這是因爲我回來的數據不是正確的JSON格式,但我嘗試將數據類型從'jsonp'更改爲'json',但它仍然不能正常工作......這是我的請求,有什麼建議嗎?意外的令牌:使Ajax json獲取請求時出錯

$.ajax({ 
    url: "https://api.deezer.com/search?q=" + searchString + "&callback=?", 
    dataType: 'json', 
    jsonpCallback: 'callback', 
    type: 'GET', 
    success: function (data) { 
    console.log(data); 
} 
}); 

回答

0

這是因爲你使用了未編碼的第二個「?」在第一個「?」之後的url中,它用於單獨的獲取字符串。您需要刪除這部分網址+ "&callback=?"

+0

如果我刪除+「&callback =?」,我得到以下錯誤:XMLHttpRequest無法加載https://api.deezer.com/search?q=travis。請求的資源上沒有「Access-Control-Allow-Origin」標題。原因'http:// localhost:3000'因此不被允許訪問。 – mnot

+0

...這是煩人的,因爲如果我點擊上面的鏈接...它需要我的權利,我需要的json對象我需要 – mnot

+0

我的意思是你不能得到這種請求API(這與XMLHttpRequest),因爲「沒有'Access-Control-Allow-Origin'標題出現在請求的資源上「。我想,你需要使用這個[手冊](https://developers.deezer.com/sdk/javascript)。不要忘記創建應用程序[這裏](https://developers.deezer.com/myapps)。 – mospans

相關問題