2012-04-16 97 views
0

我試過使用jQuery的ajax,但跨域請求存在問題(Facebook中的Canvas應用程序在iframe中,而我的瀏覽器Chrome不允許向另一個域(而不是facebook.com)發出ajax請求)。如何在Facebook的畫布應用程序中使用Ajax?

棄用的FBJS具有Ajax代理,但現在已被棄用。 如何處理它? 感謝您的幫助。

回答

1

如果您使用iframe,那麼使AJAX調用起作用。 iframe將成爲您自己的域名,因此它不會成爲跨域請求。

+0

似乎並非是現在的情況;所有請求/重定向/ etc到http資源在iframe內被阻塞,即使它在https域內。測試鉻。 – cDima 2015-02-11 14:46:57

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代碼: -

<a onclick="ajax(3); return false;" id="result">Hello</a> 
相關問題