2012-04-16 7 views
0

jQueryのajaxを使用しようとしましたが、クロスドメインリクエストに問題があります(Facebookのキャンバスアプリはiframeにあり、Chromeのブラウザは別のドメイン(facebook.comではなく)にajaxリクエストを作成できません)。FacebookのキャンバスアプリでAjaxを使用するには?

廃止予定のFBJSにはAjaxプロキシがありましたが、廃止予定です。 どうすれば対処できますか? ありがとうございます。

答えて

1

iframeを使用する場合は、AJAX呼び出しを行います。 iframeは独自のドメインになるため、ドメイン間のリクエストにはなりません。

+0

今の場合ではないようです。すべてのリクエスト/ HTTPリソースへのリダイレクト/ etcは、httpsドメイン内にあってもiframe内でブロックされます。クロムでテストされています。 – cDima

0

実際には、ヘッダーにクロスドメインリクエストを追加する必要があります。

私はPHPで行っています。

JavaScript: - ちょっと見てみてください。

function ajax(id){ 
     $.ajax({ 
      type: "POST", 
      url: "json.php", 
      data: {id: id}, 
      dataType : 'json', 
      forceIframeTransport: true, //force use iframe or will no work    
      success: function(result){ 
       console.log(result); 
      }, 
      error: function(errorThrown){ 
      } 
     }); 

    } 

JSON.PHP: -

<?php 
    header('Access-Control-Allow-Origin: *'); 
$id = $_POST['id']; 
$id = "test".$id; 
$json = json_encode($id); 
echo $json ; 
?> 

HTMLのCODE: -

<a onclick="ajax(3); return false;" id="result">Hello</a> 
関連する問題