jquery ajax Musixmatch 的 ParseError API

jquery ajax ParseError with Musixmatch API

我正在使用 jQuery 1.11.3,代码如下:

$.ajax({
    type: "GET",
    data: {
        apikey: apiMusixkey,
        q_track: q,
        page_size: 10
    },
    url: "http://api.musixmatch.com/ws/1.1/track.search",
    dataType: "jsonp",
    contentType: 'application/json',
    success: function(data) {
        //console.log(json); 
    },
    error: function(jqXHR, textStatus, errorThrown) {
        console.log(jqXHR);
        console.log(textStatus);
        console.log(errorThrown);
    }
});

我收到错误:

parseError... [] was not called

我做错了什么?

看起来您 ajax 上遗漏了一些东西。您需要指定回调函数的名称来处理 jsonp。此外,还有一个格式参数需要与 musixmatch api 一起使用。检查这个 plunker:http://plnkr.co/edit/XW6TFUJquW8o8EVpEEgU?p=preview

$(function(){

  $.ajax({
    type: "GET",
    data: {
        apikey:"309788821d050a0623303261b9ddedc4",
        q_track:"back to december",
        q_artist:"taylor%20swift",
        f_has_lyrics: 1,
        format:"jsonp",
        callback:"jsonp_callback"
    },
    url: "http://api.musixmatch.com/ws/1.1/track.search",
    dataType: "jsonp",
    jsonpCallback: 'jsonp_callback',
    contentType: 'application/json',
    success: function(data) {
        console.log(data); 
    },
    error: function(jqXHR, textStatus, errorThrown) {
        console.log(jqXHR);
        console.log(textStatus);
        console.log(errorThrown);
    }    
  });
 });