我正在使用jQuery .getJSON从TFL(伦敦传输)API获取数据。
然而添加?callback =?请求的参数导致API抛出400(错误请求)错误,因为它对它接受的参数非常严格。 I.E api无法识别'?callback'作为有效参数,因此吓坏了。
还有另一种完全不同的做法吗?以某种方式获取api响应并自己解析它。我是JS和jQuery的新手,如果我错过了一些非常明显的东西,我会道歉!
var busStopAPI = 'http://countdown.api.tfl.gov.uk/interfaces/ura/instant_V1?StopCode1=56094&VisitNumber=1&ReturnList=StopCode1,StopPointName,LineName,DestinationText,EstimatedTime,DirectionId';
$.getJSON(busStopAPI, this.busStopSuccess).fail(this.busStopFailure);
P.S。我尝试过其他.ajax()数据类型,但它们都会抛出“Access-Control-Allow-Origin”错误。
答案 0 :(得分:0)
您正在尝试添加“回调”,因为您想使用 JSONP ,对吗?...而您想要这样做,因为如果您不这样做得到跨域错误,对吧?
我建议在您的服务器中创建一个本地Web服务代理,调用TFL的api并向您的UI提供数据。这样您就不必使用JSONP,也不必担心跨域问题。 (more info)
仅供参考,还有其他方法,但是当api不支持JSONP回调时,我个人更喜欢代理服务。
希望它有所帮助。