0

iframe 技術を使用して、写真を Facebook グラフ API にアップロードしています。この手法を使用しています:http://www.openjs.com/articles/ajax/ajax_file_upload/response_data.php

写真が正常にアップロードされます。しかし、私はそれが私のiframeで私に与える応答を読む必要がありますが、私はそれを行うことができません. 私が知っているすべてのテクニック、純粋なjavascriptとjqueryのハックを試しました..しかし、何も機能しません...

応答の形式は次のとおりです (これは chrome js コンソールで確認できます)。

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

そのフォーマットは何ですか?どうすれば読めますか?DOM 上ではなく、ボディ上でもありません。

4

2 に答える 2

0

Graph APIからの応答は常にJSONエンコードされます(callbackパラメーターが指定されていない場合は、パラメーターが指定されている場合を除きますJSONP)。

実装しようとしているフローでは、その応答を取得できません。クライアント側の応答からGraphAPIに写真を直接アップロードする場合は、クロスドメインポリシーの対象となり、JavaScriptは単に応答にアクセスできません。

アップロードされた写真を含む応答を取得できるようにするには、サーバー側から画像をアップロードする必要がありますid

于 2012-04-19T07:14:07.080 に答える
0

私があなたの問題を理解しているなら、あなたはフォームをiframeに投稿し、フォームのアクションはあなたのドメイン(メインページがロードされているドメイン)とは異なる別のドメインに対して行われるため、同一生成元ポリシーに出くわしました。

そのため、iframeで取得した応答は、同じドメインを共有しておらず、ブラウザが通信をブロックしているため、親ページに渡すことができません。

@JuicyScripterが書いたように、サーバー側から画像を投稿することを検討することをお勧めします。これにより、作業が簡単になります。クライアント側のソリューションをすぐに諦めたくない場合は、次のスレッドを確認することをお勧めします:Facebook GraphAPI-JavaScriptを使用して写真をアップロードする

于 2012-04-19T07:22:23.070 に答える