2

我正在使用 Bing Search API (Azure) 使用 javascript/json 检索新闻头条列表。它正在工作,但由于某种原因忽略了 $top (count) 值,并给我默认/最大 (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"),

会不会和“逃跑”有关?

4

2 回答 2

1

您遇到的问题是由于 JavaScript 的转义未处理美元符号$字符。我建议像这样使用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"),

我希望这有帮助!

于 2012-09-27T15:40:27.933 回答
1

来自 Bing Composite 服务操作文档:

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

取自:必应搜索 API 的架构表格文档

于 2013-01-31T10:12:30.540 回答