1

我在这样的代码中使用 jQuery 调用 freebase 搜索服务

$.ajax({
    url: "https://www.googleapis.com/freebase/v1/search",
    data: {filter: afilter,
        query: aquery, 
        limit:1},
    dataType: "jsonp",
    success: callback
}); 

但是每次我将 aFilter 设置为某些东西时,我都会得到服务不可用 503。例如,当我设置 aFilter = "(any type:/film/film/ )" 时,它永远不会返回,然后在短时间内即使我省略过滤器的其他查询也将不起作用。例如,它制作的 URL 之一是:https ://www.googleapis.com/freebase/v1/search?callback=jQuery15208622465366047221_1323023627389&filter=%28any+type%3A%2Ffilm%2Ffilm%2F++%29&query=something&limit=1&_= 1323024223282

该 URL 不起作用,但如果您手动将 jQuery 为过滤器放置的内容更改为我上面的内容:https ://www.googleapis.com/freebase/v1/search?callback=jQuery15208622465366047221_1323023627389&query=something&limit=1&_=1323024223282&filter=% 28any%20type:/film/film%29

所以基本上我如何使用 jQuery 和过滤器调用 Freebase 搜索服务?

提前致谢

4

1 回答 1

1

您在第一个 url 的过滤器中有一个额外的“/”(斜杠和两个空格)。

这不是一个有效的过滤器:(任何类型:/film/film/)

这是:(任何类型:/电影/电影)

于 2011-12-05T17:54:19.627 回答