【发布时间】:2012-09-29 20:44:41
【问题描述】:
我正在尝试构建一个页面,该页面显示指向我的一堆博客文章的链接,并且每个链接旁边都有一个小气泡,其中包含该文章的评论数。认为最简单的方法是使用 disqus 在他们的开发文档中谈到的“面向公众的 JavaScript API”。
如果我在浏览器中访问此链接,我会得到我正在寻找的 JSON:
但是,当我尝试从 jQuery 加载它时,它给了我可怕的 XMLHttpRequest cannot load: Origin is not allowed by Access-Control-Allow-Origin.
我已经尝试使用 $.getJSON() 和 $("#div").load() 来加载它。
我已将 localhost 和 127.0.0.1 添加到 Disqus API 中的“链接到我的公钥的域”设置中。
【问题讨论】:
-
我找不到您所指的“面向公众的 JavaScript API”。他们的JavaScript page 上有一些东西,但听起来都不是。
-
他们在这里在第一句话中谈论它:disqus.com/api/docs/requests 但他们没有进一步解释:(
-
问题是你需要做一个JSONP请求。事实上的标准是回调参数。使用
jQuery.getJSON,您只需添加&callback=?,jQuery 就会从那里获取它。我仍然认为count.js在这种特殊情况下更容易。 -
如果您想将其添加为答案,我会接受。此外,我必须确保请求是发往 details.jsonp 而不是 details.json。虽然 count.js 很棒,但不幸的是我需要能够自定义我的计数显示
-
我添加了另一个答案。但是,我认为您也可以将 Disqus 配置为仅使用 count.js 显示原始数字,然后根据需要设置样式。
标签: javascript jquery cross-domain disqus