xd_receiver.htm 文件主要实现 ajax 跨域访问。今天花时间看了下具体实现过程,最终还是采用 iframe方面进行数据的传递, 大致过程如下。
用户网站
得到需要发送的数据并拼到以下url
http://api.renren.com/static/xd_receiver.html?r=10000#{发送的数据}
并用 <iframe src="xxx"> 方式加载以上url ,这时iframe 里的代码进行 ajax POST,存在人人网cooikie里的 session_key也可以方便得到,因为同是 renren域下,所以可以正常运行
||
V
V
人人网站
把最终返回的数据拼到以下 url
http://www.用户网站.com/app/renren/xd_receiver.html#{发返回的数据}
并用 <iframe src="xxx"> 方式加载以上url ,这时iframe 里的加载的是用户网站的url,所以用户可以正常取到数据。
||
V
V
用户网站
根据url ,解析#{发返回的数据} ,得到最终的数据
最终结果还是在 人人网站 AJAX 人人的 URL,一切正常。