Bing Search API似乎忽略了$ top值

时间:2012-09-27 15:22:45

标签: javascript jquery json azure bing-api

我正在使用Bing Search API(Azure)使用javascript / json检索新闻头条列表。它正在工作,但由于某种原因忽略了$ top(计数)值,并给出了默认/最大(15)个结果数,无论我放在那里。

电话是:

https://api.datamarket.azure.com/Data.ashx/Bing/Search/Composite?$format=JSON&Query=%27MyQuery%27&Sources=%27news%27&Market=%27en-US%27&Adult=%27Off%27&$top=5&$skip=0

我可以使用我页面上的代码限制它,但这对我来说似乎很浪费。我怀疑这是显而易见的,我错过了..

感谢您的帮助。

注意:我正在使用的$ .ajax中的实际代码行是代理php脚本:

url: "scripts/bingapi.php?query=" + escape("https://api.datamarket.azure.com/Data.ashx/Bing/Search/Composite?$format=JSON&Query=%27MyQuery%27&Sources=%27news%27&Market=%27en-US%27&Adult=%27Off%27&$top=10&$skip=0"),

这可能与“逃避”有关吗?

2 个答案:

答案 0 :(得分:1)

您遇到的问题是由于JavaScript的escape未处理美元符号$字符。我建议使用encodeURIComponent代替:

url: "scripts/bingapi.php?query=" + encodeURIComponent("https://api.datamarket.azure.com/Data.ashx/Bing/Search/Composite?$format=JSON&Query=%27MyQuery%27&Sources=%27news%27&Market=%27en-US%27&Adult=%27Off%27&$top=10&$skip=0"),

我希望这有帮助!

答案 1 :(得分:1)

来自Bing Composite服务操作文档:

  

另请注意,使用OData保留参数$ top返回的结果数是指除查询以外的查询中指定的所有数据源。当您在复合查询中使用新闻时,新闻将始终返回固定数量的15个新闻结果。

取自:Schema Tabular Documentation for Bing Search API