腾讯行政区api数据格式报错

我在用腾讯的行政区划api,http://lbs.qq.com/webservice_v1/guide-region.html
直接在浏览器请求数据,http://apis.map.qq.com/ws/district/v1/list?key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77
返回的数据是正常的,
然后在js里调用,代码如下:

$.ajax({
        url: 'http://apis.map.qq.com/ws/district/v1/getchildren?&id=370000&key=CS5BZ-KR7KU-BR7V7-477SY-W4HXO-FIFTL',
        type: 'GET',
        dataType: 'jsonp',
        jsonp: "callbackparam",
        jsonpCallback:"success_jsonpCallback",
        success:function (json){
            console.log(json);
        },
        error:function() {
            console.log('error');
        }
    })

结果报错:

clipboard.png
请问是什么原因?
求解决,谢谢

阅读 6.1k
2 个回答

你要指定为jsonp输出并给jsonp函数名

$.ajax({
    url: 'https://apis.map.qq.com/ws/district/v1/list?key={换成你的key}&callback=test&output=jsonp',
    type: 'get',
    dataType: 'jsonp',
    'jsonpCallback': 'test',
    success: function(data) {
        console.log(data.result);
    }
});

要仔细看下文档,接口支持json和jsonp,当需要jsonp时,需要带上output=jsonp
另外文档上说明了,jsonp的值应为 callback,而不是callbackparam

$.ajax({
        url: 'http://apis.map.qq.com/ws/district/v1/getchildren?&id=370000&key=CS5BZ-KR7KU-BR7V7-477SY-W4HXO-FIFTL&output=jsonp',
        type: 'GET',
        dataType: 'jsonp',
        jsonp: "callback",
        jsonpCallback:"success_jsonpCallback",
        success:function (json){
            console.log(json);
        },
        error:function() {
            console.log('error');
        }
    })
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进