0

我正在使用 jQuery .getJSON 从 TFL (transport for london) API 获取数据。

但是添加 ?callback=? 请求的参数会导致 API 抛出 400(错误请求)错误,因为它对接受的参数非常严格。IE 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);

ps 我已经尝试过其他 .ajax() 数据类型,但它们都抛出“Access-Control-Allow-Origin”错误。

4

1 回答 1

0

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

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

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

希望能帮助到你。

于 2013-05-16T11:38:53.783 回答