2013-12-17 43 views
1

我可以通過我的瀏覽器

,但不能使用JQ $不用彷徨導航到 https://www.facebook.com/plugins/likebox.php?id=20531316728,(不與特定的URL工作)

url='https://www.facebook.com/plugins/likebox.php?id=20531316728&width=292&height=258&colorscheme=dark&show_faces=true&border_color&stream=false&header=false'; 
$.get(url, function(data){alert(data);}); 

我可以用任何方法獲取網址(js是首選)?任何想法?

+0

[捲曲?](http://php.net/curl)的Java/jQuery的不能做跨域請求......除了JSON請求[我希望我不會在這裏犯一個非常大的錯誤] –

+0

如果你只是想顯示像這樣的盒子,這不應該是必要的。你應該能夠直接從Facebook獲取代碼。請參閱https://developers.facebook.com/docs/plugins/like-box-for-pages/ –

回答

0

簡單,你不能做跨域的Ajax調用。

有2個選項:

1)嘗試用JSONP讀 - http://api.jquery.com/jQuery.getJSON/

2),從AJAX請求到您的網站的網址,你可以使用curl Facebook的URL來獲取數據。

+0

,但它不會使用當前的瀏覽器Cookie ....這是必需的 – Nifty

0

我們無法Ajax請求

$.get("your_cross_domain_url",function(response) 
{ 
}); 

所以,你必須使用一個本地文件訪問跨域數據訪問跨域數據。

var content="your_url"; 
var urlRegex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; 
// Filtering URL from the content using regular expressions 
var url= content.match(urlRegex); 
if(url.length>0) 
{ 
// Getting cross domain data 
$.get("urlget.php?url="+url,function(response) 
{ 
// do your stuff 
}); 

urlget.php文件應該是這樣的

<?php 
if($_GET['url']) 
{ 
$url=$_GET['url']; 
echo file_get_contents($url);//loading the URL data. 
} 
?>