2012-04-16 98 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> 
相关问题