也许我做错了但是在你的服务器/本地上尝试这个样本如果我有ajax.php文件本地并运行请求本地它工作但是一旦ajax.php是远程它不会工作。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p></p>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
window.setInterval(function()
{
$.ajax({
url: 'ajax.php',
type: 'GET',
dataType: 'json',
cache: false,
success: function(result)
{
$('p').html(result.price);
}
});
}, 2000);
});
</script>
</body>
</html>
答案 0 :(得分:4)
JavaScript只能加载来自同一主机的数据,这称为SameOrginPolicy。简而言之,这大致意味着嵌入在ServerA
上的HTML文件中的JavaScript代码只能通过AJAX从ServerA
请求文档。这样做是出于安全原因。
答案 1 :(得分:2)
Javascript不允许跨域请求。我最近提出了一个非常类似的问题,可能会为您提供有用的答案:3 ways to make a cross-domain request in Javascript
以下是其他一些内容:
答案 2 :(得分:0)
这是因为Javascript的原始政策相同。出于安全原因,Javascript是使用此策略构建的。
http://en.wikipedia.org/wiki/Same_origin_policy
但是,您可以使用JSONP发出跨域请求。