Jquery Ajax Twitter / Facebook изображения профиля и http 302 - PullRequest
1 голос
/ 25 мая 2011

Итак, я прочитал несколько вещей о jquery ajax и http 302 как здесь, на переполнении стека, так и на других сайтах. В некоторых местах говорят, что это не решаемая проблема, другие предоставляют решения, которые не работают для меня (я думаю, что они могут изменять некоторые серверные сценарии). Однако я ищу решение, чтобы исправить проблему ajax / redirect с серверами, к которым у меня нет доступа ... Facebook и Twitter!

Вот моя проблема. Мне нужно получить изображения профиля из Facebook и Twitter в размере, отличном от их размеров по умолчанию (fb- 50x50px, twitter- 48x48px). С фейсбуком это делается с

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

1 Ответ

4 голосов
/ 25 мая 2011

Почему ты что-то делаешь с Ajax?Разве вы не можете просто создать тег изображения, а это значит, что клиент не должен делать два запроса?

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