所以,我已经在堆栈溢出和其他站点上阅读了有关jquery ajax和http 302的一些内容。有些地方似乎说这是一个无法解决的问题,其他地方提供的解决方案对我不起作用(我认为它们可能会改变一些服务器端脚本)。但是,我正在寻找一个解决方案来修复我无法访问的服务器的ajax / redirect问题... facebook和twitter!
这是我的问题。我需要以非默认尺寸(fb-50x50px,twitter-48x48px)的尺寸从facebook和twitter获取个人资料图像。使用facebook,这是用
完成的https://graph.facebook.com/ [用户ID] /照片?类型= [大小]
与推特一起
http://api.twitter.com/1/users/profile_image/ [屏幕名]上传.json?大小= [大小]
这两个都返回HTTP 302重定向,然后不向jquery提供任何内容。
我尝试成功,错误并完成,看看是否在某些时候我可以抓住响应标头的位置并通过它,但是使用控制台并做了一些研究,我发现浏览器在收到根据w3c标准,302应该立即处理重定向,让jquery无法从头文件中获取任何内容。
我必须在javascript中完成所有操作,因为通过网站的人数,我们的服务器将无法抓取这些图像并将它们传递到客户端。基本上,我们需要确保所有工作都由facebook / twitter服务器完成。
有人有解决方案吗?
提前感谢您的任何帮助/建议! :-D
答案 0 :(得分:4)
你为什么要用Ajax做任何事情?你不能只建立一个图像标签,这意味着客户端无论如何都不必做两个请求吗?
var pUrl = 'https://graph.facebook.com/[userid]/picture?type=[size]';
// update Url with user info & requested size.
$('#placeholder').html('<img src="' + pUrl + '" />');