2014-02-11 35 views
0

嗨我正在测试休息API调用http://airportcode.riobard.com,允许我查找机场代码。当我在下面的到我的浏览器中键入:浏览器Api调用的作品,但阿贾克斯没有

http://airportcode.riobard.com/search?q=las%20vegas&fmt=JSON

我得到正确的JSON。然而,当我做一个json jQuery调用:

var url = 'http://airportcode.riobard.com/search?q=las vegas&fmt=JSON'; 

// Request json 
jQuery.getJSON(url, function(data){ 
    console.log(data); 
}); 

我得到一个200这是好的,但响应对象是空的。为什么这发生在我身上?

谢谢。

+0

它不是。首先,我不知道这个问题是一个跨域问题。这个问题指出了一些描述跨域问题的非同义行为,另一个问题是从一个跨域问题开始处理jsonp,这意味着这是一个不同的问题。另一件与我的问题有所不同的是,我的api不提供jsonp功能,而其他问题则提出了问题。不同的问题。 –

回答

1

所以,交易是,我无法访问JSON,因为它不是来自我的JavaScript的其余部分相同的起源。这是一个跨站脚本的好例子,我忘了它。

0

检查控制台,它可以显示

产地_ __ _ __ _ __ _ _不受访问控制允许来源允许的。

这意味着您需要在服务器中添加一些标题到您的响应中。 特别是Access-Control-Allow-Origin到“*” 或者您可以尝试使用JSONP请求。与$.JSONP

+0

那不在请求标题中。由于我从本地运行脚本,所以原点为空。不幸的是,我想我只能写PHP rest api来充当这个问题的信使。 –