【发布时间】:2013-02-09 09:29:51
【问题描述】:
我正在使用一个 API(我制作并可以在必要时进行更改),它会吐出一些 JSON(使用 PHP 的 json_encode,所以它是有效的)。我在另一个域的另一个网站上使用它来检索数据。
不幸的是,我似乎无法让它工作。发出请求,据我所知,从 Chrome 开发人员工具中检索数据(结果已从 API 下载)。不过似乎没有进行进一步的处理。
请求 URL 如下所示(将“查询”替换为实际查询,在本例中为乐队名称):
http://gatekrash.com/api/v1?t=search&s=national&p=0&n=15&q=QUERY&callback=?
Link to results page with query being 'Noah and the Whale'
结果如下所示(有效 JSON):
[{"id":"4123","title":"Noah And The Whale","type":null,"start":"2011-03-30 19:30:00","end":"2011-03-31 00:30:00","venue":{"id":"154","name":"The Deaf Institute"},"place":{"id":"17374","name":"Manchester"},"source_count":"1","performers":""},{"id":"9317","title":"Noah And The Whale","type":null,"start":"2011-05-04 19:00:00","end":"2011-05-05 00:00:00","venue":{"id":"539","name":"Leeds Metropolitan University"},"place":{"id":"15473","name":"Leeds"},"source_count":"1","performers":""}]
我用来获取这些数据的 jQuery 如下所示:
$(document).ready(function(){
getSearch("Noah and the Whale");
});
$(document).ready((function(query) {
getSearch = function(query) {
url = "http://gatekrash.com/api/v1?t=search&s=national&p=0&n=15&q=" + query + "&callback=?";
$.getJSON(url,
function(json) {
alert("Success!");
}
);
}
})());
据我所知,这应该工作。我在API所属的站点上使用基本相同的代码(减去回调=?)来毫无问题地检索数据,所以我认为这可能是一个跨域的事情。
解决方案在我看来肯定是那么明显和简单,但我没有成功让它发挥作用。
有什么想法吗?
【问题讨论】: