2

我正在使用 freebase 搜索 url 来了解查询分类。我已经在 javascript 中发送 jquery 请求,如下所示,但我没有得到任何响应。

var searchvalue = document.getElementById("searchtext").value; var url = "http://www.freebase.com/api/service/search?query=india"; $.getJSON(url,function(data){alert(data)});

如果我将 url (http://www.freebase.com/api/service/search?query=india) 放在浏览器中,我可以获得 JSON 响应。有没有人遇到过这个问题。

谢谢, 萨蒂

4

2 回答 2

2

由于浏览器的同源策略,您将无法使用 $.getJSON 。但是,大多数 freebase.com api 都支持 JSONP,因此您应该能够做到这一点:

$.ajax({
  url: "http://api.freebase.com/api/service/search"
  data: {query:"india"},
  dataType: "jsonp",
  success: function(data) {
    console.log("success", data);
  }
});
于 2010-12-05T23:39:00.347 回答
0

daepark 的答案是正确的,你应该记住在 'url' 的末尾放置一个逗号如果你想要一个复制粘贴的解决方案,这里是:

$.ajax({
        url: "http://api.freebase.com/api/service/search",
        data: {query:"india"},
        dataType: "jsonp",
        success: function(response) {
            alert(response.result.map(
                function(result){
                    return result.name;
                }).toString());
        }
    });
于 2011-10-18T15:39:50.400 回答