我想在我的页面上添加一个功能,用于检查用户的电子邮件是否拥有 Gravatar 帐户。如果是,他们应该显示该图片,如果不是,他们应该有其他选择。
我尝试按如下方式执行此操作:
$.ajax({
url: 'https://secure.gravatar.com/' + md5(user.email) + '.json',
method: 'GET',
timeout: 4000,
success: function successFn() {
doGravatarStuff();
},
error: function errorFn(response, status, error) {
console.log(response.status); //debug
}
});
这总是在 Internet Explorer 上返回错误状态 0,我似乎无法弄清楚原因。我尝试将“dataType”更改为“json”、“html”等,但这似乎没有帮助。
另外,也许这是一个相关的问题,如果我在 FF 或 Crome 上测试这个,对于一个确实没有帐户的用户,它会根据“net”选项卡读数返回 404 错误
404 Not Found 649ms
但是“response.status”似乎仍然是0
有人有什么想法吗?非常感谢!
最佳答案
通常跨域 AJAX 请求会被拒绝,因为这是一个安全问题。请参阅此博客文章:http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/
您尝试过 jsonp
数据类型吗?当我访问 twitter 的 tweet json feed 时,我使用 jsonp。
示例:
var urls = "http://twitter.com/status/user_timeline/" + username + ".json?count=" + pageSize + "&page=" + currentPage;
$.ajax({
beforeSend: function () {
$("#ajax-load").fadeIn()
},
url: urls,
cache: true,
type: 'GET',
dataType: 'jsonp',
success: twitterCallback2
});
};
关于ajax - Gravatar VS JQuery Ajax...有帮助吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7335432/