Ajax 未捕获的语法错误:意外标记<;,调用angularJS$http.jsonp时

Ajax 未捕获的语法错误:意外标记<;,调用angularJS$http.jsonp时,ajax,angularjs,http,jsonp,Ajax,Angularjs,Http,Jsonp,我正在尝试使用web服务API()。不幸的是,除此之外,我还没有找到任何文档。看起来API正在构建一个HTML文档,而不是返回一个数据对象,这不是我过去经历过的。我还注意到,在这个示例中,URL中没有提到?callback=JSON\u callback,这是我在处理JSONP时所期望的 我在AngularJS中构建了一个http请求,如下所示: atRiskApp.controller('IucnController', ['$scope', '$routeParams', '$http',

我正在尝试使用web服务API()。不幸的是,除此之外,我还没有找到任何文档。看起来API正在构建一个HTML文档,而不是返回一个数据对象,这不是我过去经历过的。我还注意到,在这个示例中,URL中没有提到
?callback=JSON\u callback
,这是我在处理JSONP时所期望的

我在AngularJS中构建了一个http请求,如下所示:

atRiskApp.controller('IucnController', ['$scope', '$routeParams', '$http', function ($scope, $routeParams, $http) {
  $scope.iucn = $routeParams.iucn; // pulling a number from the URL: ex. 22718591

  $scope.getIUCN = function () {
    var iucnUrl = 'http://api.iucnredlist.org/details/' + $scope.iucn + '/0.js';

    $http.jsonp( url )
      .success( function (response) {
        console.log(response);
      })
      .error( function (response) {
        console.log(response);
      });
  };
}]);
虽然HTML文档已成功传递到我的应用程序,但我收到以下错误消息:
uncaughtsyntaxerror:Unexpected-token我仔细查看了该网站及其站点地图,没有发现对公共API的引用。所有的输出都是
HTML
,而且
json
parse-method
jsonp
将无法理解它。首先,在您的评论中,我在API索引的标题下找到了一些潜在有用的信息

实际上,您可以获得所有分类级别的JSON,包括您的示例。但是,此JSON不包含HTML版本中的所有数据,因此没有那么有用。希望这有点帮助

API索引(节选) 还可以检索与单个物种对应的索引行:

http://iucn-redlist-api.heroku.com/index/species/panthera-leo.json

您可以将破折号用作空格,以方便地替换标准URL转义,
%20

HTML格式包含到物种账户页面的直接链接。CSV和JSON格式包括一个物种id列,可用于构建物种帐户URL,如下所示:

http://iucn-redlist-api.heroku.com/details/species_id/0

要在网页中直接使用索引JSON,可能需要JSONP填充;使用“.js”扩展名并添加一个带有要使用的函数名的“callback”参数

http://iucn-redlist-api.heroku.com/index/genus/Dioscorea.js?callback=show


这是我能与之搏斗的唯一机会。他们似乎重新编写了输出以创建更具语义的响应。我想我必须在他们的组织内找到某人;谢谢,成功!不知道我怎么错过了那一节。我更新了URL以点击heroku应用程序,并添加了
?callback=JSON\u callback
。API现在返回一个包含HTML文档的对象,这看起来不太有趣,但这是一个改进!示例URL:
'http://iucn-redlist-api.heroku.com/details/“+$routeParams.iucn+”/0.js?callback=JSON_callback'
这是因为
/details/1282/0
返回HTML,而
/index/species/aneides aeneus.js
返回JSON。你有没有办法用实际的名字来代替物种ID?不幸的是,除非你这样做,否则你看起来无法获得JSON。一个物种可以有任意数量的不同通用名称,因此使用ID确实是保证你获得你想要的物种数据的唯一方法。我和IUCN的一位IT专业人士谈了一个更现代的api,但我正在等待回复。