jQuery JSONP请求导致TFL API抛出400

时间:2013-05-16 10:55:58

标签: javascript json jquery

我正在使用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”错误。

1 个答案:

答案 0 :(得分:0)

您正在尝试添加“回调”,因为您想使用 JSONP ,对吗?...而您想要这样做,因为如果您不这样做得到跨域错误,对吧?

我建议在您的服务器中创建一个本地Web服务代理,调用TFL的api并向您的UI提供数据。这样您就不必使用JSONP,也不必担心跨域问题。 (more info

仅供参考,还有其他方法,但是当api不支持JSONP回调时,我个人更喜欢代理服务。

希望它有所帮助。