在第三方api使用jsonp,由于返回数据类型和处理类型不同,所以报错,求解决。

由于本人是第一次实际使用jsonp,还望大家能讲的细一点,说得明白点。谢谢了。

在谷歌浏览器上报错为Uncaught SyntaxError: Unexpected token :
在火狐浏览器上报错为SyntaxError: missing ; before statement

第三方api为 http://api.avatardata.cn/TouT...

引入的是JQ3.2.1;

代码如下所示

$(document).ready(function () {
            $.ajax({
                url : "http://api.avatardata.cn/TouTiao/Query?key=738c824fc90f4c64a75a48dda2524fc2&type=top",
                type : "get",
                dataType : "jsonp", 
                jsonpCallback: 'callback', 
                success: function(response, status, xhr){
                    console.log('状态为:' + status + ',状态是:' + xhr.statusText);
                    console.log(response);
                }
            });
        })

图片描述
图片描述
数据也确实返回了,如上图所示。

就想知道怎么能把返回的json转换类似 callback({"result":{"data":[{"uniquekey"}]}});类型的数据,
然后能使用它,不报错。

阅读 2.8k
3 个回答

接口返回的数据是json数据,并未支持jsonp。

也许你这个链接不支持jsonp。亦或是callback这个字段和接口参数不统一。

这个需要后端加callback(),你前端不好办到的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题