我正在开发一个Facebook应用程序。我正在尝试获取网址的喜欢,因为我正在迭代一系列网址并将其添加到应包含喜欢的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);
它仍然不起作用。请帮帮我!
答案 0 :(得分: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。见What are the differences between JSON and JSONP? 比我在这里提供的更详细的解释。
答案 1 :(得分:0)
这是因为IE对CORS的支持非常糟糕,因此仅适用于某些情况。 为获得最佳支持,您应该通过JS SDK使用Facebook的FB.api。