2012-02-19 153 views
0

我想用ajax調用一個頁面,但是從另一個服務器調用。這個js代碼從你想要的任何頁面的書籤運行,我需要從我的服務器獲取一些數據。我怎麼能這樣做?或者可能直接連接到數據庫?跨域Ajax調用jquery

我得到這個代碼:

$j.getJSON(serverUrl+"isLogin.php?callback=?",function(data){ 
//really no need to do anything here, we're just posting data 
//but this will output success 
alert(data); 
}); 

isLogin:

if ($_SESSION['user'] == ''){ 
    echo json_encode(array("isLogin" => "false")); 

} else { 
    echo json_encode(array("isLogin" => "true")); 
} 

我怎麼能做出這樣?我嘗試了所有解決方案,但都沒有成功。此一說沒有任何錯誤,但警報不會出現

感謝

+1

跨域不應該出於安全原因,也許從服務器本身嘗試外部JS文件? – 2012-02-19 02:33:05

回答

0

AJAX(XMLHttpRequest對象)僅限於出於安全原因,相同的域名。

你有幾個方法去這樣的:

如果你的API支持,可以使用JSONP。這與您當前的AJAX方法非常相似。 這是jQuery的文檔 - http://api.jquery.com/jQuery.getJSON/

另一種選擇是創建本地代理。這是更深入一點,但給你完全控制。 這裏有一篇好文章 - http://developer.yahoo.com/javascript/howto-proxy.html

+0

如果服務器配置正確,並且客戶端支持它,則可以使用XHR2及其跨源資源共享(CORS)http://www.html5rocks.com/en/tutorials/file/xhr2/# TOC-CORS – 2012-02-19 02:50:21