0

我使用 iframe 技术将照片上传到 facebook graph api。我使用这种技术:http ://www.openjs.com/articles/ajax/ajax_file_upload/response_data.php 。

照片上传成功。但我需要阅读它在我的 iframe 上给我的回复,但我无法做到。我尝试了所有我知道的技术,纯 javascript 和 jquery hacks.. 但没有任何效果......

响应的格式如下(我可以在 chrome js 控制台上看到):

{
   "id": "111346062333977",
   "post_id": "100003757518505_111258412342742"
}

那是什么格式?我怎么读?它不在 DOM 上,不在身体上,它不在!!!!

4

2 回答 2

0

来自 Graph API 的响应总是被JSON编码(除非callback指定参数,在这种情况下它是JSONP)。

您将无法在您尝试实施的流程中获得该响应。如果您从客户端响应直接将照片上传到 Graph API 将受到跨域策略的约束,并且您的 JavaScript 根本无法访问响应。

您应该从服务器端上传图像,以便能够检索包含上传照片的响应id

于 2012-04-19T07:14:07.080 回答
0

如果我理解您的问题,那么您遇到了相同来源策略,因为您将表单发布到 iframe 中,并且表单的操作是到另一个域,而不是您的域(加载主页的域)。

因此,您在 iframe 中获得的响应无法传递到父页面,因为它们不共享相同的域并且浏览器会阻止通信。

正如@JuicyScripter 所写,您可能想考虑从服务器端发布图像,这将使事情变得更简单。如果您不想这么快就放弃客户端解决方案,我建议您查看此线程:Facebook Graph API - Upload photo using JavaScript

于 2012-04-19T07:22:23.070 回答