1

所以,我已经在堆栈溢出和其他网站上阅读了一些关于 jquery ajax 和 http 302 的内容。有些地方似乎说这是一个无法解决的问题,而另一些地方则提供了对我不起作用的解决方案(我认为他们可能正在更改一些服务器端脚本)。但是,我正在寻找一种解决方案来解决我无法访问的服务器的 ajax/重定向问题……facebook 和 twitter!

这是我的问题。我需要从 facebook 和 twitter 中获取不同于默认尺寸(fb- 50x50px,twitter- 48x48px)的个人资料图像。使用facebook,这是完成的

https://graph.facebook.com/[userid]/picture?type=[size]

用推特

http://api.twitter.com/1/users/profile_image/[screenname].json?size=[size]

这两个都返回一个 HTTP 302 重定向,然后它不会给 jquery 任何东西。

我尝试了成功、错误和完成,以查看是否在某个时候我可以获取响应标头的位置并通过它,但是使用控制台并进行一些研究,我发现浏览器在收到 302 时,根据 w3c 标准,应该立即处理重定向,使 jquery 无法从标头中获取任何内容。

我必须在 javascript 中完成这一切,因为通过网站的人数众多,我们的服务器将无法获取这些图像并将它们传递到客户端。基本上,我们需要确保所有工作都由 facebook/twitter 服务器完成。

有人对此有解决方案吗?

提前感谢您的任何帮助/建议!:-D

4

1 回答 1

4

你为什么要对 Ajax 做任何事情?你不能只构建一个图像标签,这意味着客户端无论如何都不必做两个请求?

var pUrl = 'https://graph.facebook.com/[userid]/picture?type=[size]';
// update Url with user info & requested size.
$('#placeholder').html('<img src="' + pUrl + '" />');
于 2011-05-24T21:05:37.243 回答