Javascript 通过Get方法从其他域获取数据

Javascript 通过Get方法从其他域获取数据,javascript,jquery,Javascript,Jquery,我正在尝试为我的客户的网站实现宗教日历。我有一个获取另一个域上日历的xml/json数据的服务。链接可以工作,但当我尝试从jqueryget方法获取链接时,它成功了,但并没有数据 $( document ).ready(function() { $.get('http://api.xhanch.com/islamic-get-prayer-time.php?lng=16.047624400000018&lat=45.78988090000001&yy=2014&a

我正在尝试为我的客户的网站实现宗教日历。我有一个获取另一个域上日历的xml/json数据的服务。链接可以工作,但当我尝试从jqueryget方法获取链接时,它成功了,但并没有数据

$( document ).ready(function() {
        $.get('http://api.xhanch.com/islamic-get-prayer-time.php?lng=16.047624400000018&lat=45.78988090000001&yy=2014&mm=11&gmt=1&m=xml', function(data) {
        alert(data);
    });
});

目前,请求仅来自localhost,但我认为这无关紧要。那么,是有错误还是有其他方法可以获取这些数据?我试过jQuery.ajax,但都是一样的。请求成功,但没有数据要提醒。

由于安全原因,Web浏览器会阻止对不同域的AJAX请求,除非在服务器的响应中设置了“访问控制允许源站”标题。当用户发出AJAX请求时,web浏览器会检查目标域是否相同。如果目标域相同,则发送请求。否则,浏览器将向远程服务器发送不同的请求,并检查相应的响应以获取标题。如果标头包含跨域请求的权限,则浏览器会将用户的AJAX请求发送到远程服务器。否则浏览器会阻止它。。。您发送请求的服务器似乎没有设置头,因此浏览器不允许这样做

作为替代方案,您可以在服务器端创建代理。来自用户的请求将发送到具有相同域的服务器。然后,服务器将请求发送到远程服务器api.xhanch.com并获得响应。然后,您可以使用从远程服务器获得的响应来回复用户的响应


还有一些方法可以放松同源策略,例如:JSONP。你可以在谷歌上搜索并了解它们。

这是关于同一原产地的政策