2012-02-19 107 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