1

我正在开发一个 Facebook 应用程序。我正在尝试获取 url 的喜欢,因为我正在遍历一组 url 并将其添加到应该包含喜欢的 div 中。这是我的ajax请求:

 $.ajax({
                  type: "GET",
                  cache: false,
                  url: 'https://graph.facebook.com/?id='+videoUrl,
                  dataType : "json",
                  async: false,
                  header: "application/json",
                  success: function(data) {
                      if(data.shares == null) {
                          likeCount = 0;
                      } else {
                          likeCount = data.shares;
                      }
                  }
          });

这在 Chrome、Firefox、Safari 上运行良好。它不适用于任何IE。我认为这是一个缓存问题。请注意,我在请求中添加了 cache: false 。我尝试了 JSONP,我得到了喜欢,但我无法在请求之外访问它。我还尝试将其添加到我的 php 中:

    header("Cache-Control: post-check=0, pre-check=0", false);

它仍然不起作用。请帮我!

4

2 回答 2

4

我遇到了类似的问题。这对我有用:

$.get('https://graph.facebook.com/?id='+videoUrl+'&callback=?', function(data) {
                  if(data.shares == null) {
                      likeCount = 0;
                  } else {
                      likeCount = data.shares;
                  }
              }, 'json');

"&callback=?" 在 url 中导致 jQuery 将其视为 JSONP。请参阅JSON 和 JSONP 之间有什么区别? 比我在这里提供的更详细的解释。

于 2012-10-31T06:07:17.307 回答
0

这是因为 IE 对 CORS 的支持很差,所以只能在某些场景下工作。为了获得最佳支持,您应该通过 JS SDK 使用 Facebook 的 FB.api。

于 2012-10-31T07:06:16.090 回答