我正在尝试使用以下调用从Yummly API请求数据
$http.jsonp('http://api.yummly.com/v1/api/recipes?_app_id='
+ $scope.apiId
+ '&_app_key='
+ $scope.apiKey
+ '&allowedAllergy[]=396^Dairy-Free'
+ '/?callback=JSON_CALLBACK' ).success(function(data) {
console.log(data);
}).error(function(error) {
});
我不断收到此错误,说“Uncaught SyntaxError:Unexpected token:”,当我点击它时,我会收到回复。它也没有在控制台中记录数据。
答案 0 :(得分:0)
服务器返回JSON - 不 JSONP。当在托管<script>
上下文中执行 JSON 文本时,这会导致异常。
在控制台中运行以下代码将生成相同的错误,因为{..}
位于Statement上下文中:
{"foo": "bar"}
另一方面,有效的 JSONP 响应应该如下所示(这是有效的语法,因为{..}
在表达式上下文中):
JSON_CALLBACK({"foo": "bar"})