在angularjs中获取`Unexpected token :`但不能使用回调
Posted
技术标签:
【中文标题】在angularjs中获取`Unexpected token :`但不能使用回调【英文标题】:Getting `Unexpected token :` in angularjs but cannot use callback 【发布时间】:2013-05-17 21:19:40 【问题描述】:我正在尝试使用 AngularJS 查询 Spotify Metadata API,但我一直遇到以下错误。
Uncaught SyntaxError: Unexpected token :
现在我知道在查询时通常应该添加callback=JSON_CALLBACK
作为查询字符串,但在这种情况下它不起作用。它返回:
Failed to load resource: the server responded with a status of 400 (Bad Request)
我正在使用$http.jsonp()
。
Example without callback | Example with callback
那么,有没有办法使用纯 javascript 来解决这个问题,或者我最好添加一个服务器端包装器(我已经开始工作了,但如果它是纯 Javascript 的话)?
【问题讨论】:
【参考方案1】:Spotify 似乎不提供 jsonp 支持,但他们确实支持 CORS - 所以这应该可以:
function spotify_api($http)
var url = "http://ws.spotify.com/lookup/1/.json?uri=spotify:track:5PJSqY8jbYzr4a6dl5Ory1";
//CORS support
delete $http.defaults.headers.common['X-Requested-With'];
$http.get(url).success(function(data)
console.log(data);
);
查看我的更新:http://jsfiddle.net/69kYH/
坏消息是,CORS 似乎无法在 IE 的旧版本中正常工作 - 请参阅 AngularJS - Calling Flickr API fails with warning message
【讨论】:
以上是关于在angularjs中获取`Unexpected token :`但不能使用回调的主要内容,如果未能解决你的问题,请参考以下文章
angular.min.js:1 Uncaught SyntaxError: Unexpected token <
获取 MongoDB 错误 - SyntaxError: Unexpected token?
如何使用 unicode 从 python 服务解析 JSON? SyntaxError: Unexpected token u
AngularJS + JQuery:如何在 angularjs 中获取动态内容
获取错误:-S SyntaxError: Unexpected token < in JSON at position 0 REACT