【发布时间】:2011-05-02 13:33:28
【问题描述】:
HTML 和 AJAX 编程新手,所以这里是:
我创建了一个网站,该网站使用来自外部 txt 文件 (content.txt) 的内容填充表格。该文本文件位于 Windows 2003 网络服务器上,并且位于 C:\Inetpub\wwwroot 文件夹中(因此它可以被http://servername:port/content.txt 访问)。我的网站当前的 AJAX 代码是这样的:
function content(file)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
populate();
}
}
var right_now = new Date();
xmlhttp.open("POST",file + "?" + right_now.getTime(),true);
xmlhttp.send();
}
然后在我的 HTML 正文中:
<body id="body" onload="javascript:content('http://servername:port/content.txt')">
现在,如果我从同一网络上的计算机上运行此代码,并且网页加载正常。但是,如果我将它放在服务器上并使其成为“实时”网站(使用 IIS),然后尝试从网络上的另一台计算机访问该网站,IE 会抛出一个错误,指出“访问被拒绝”指向 xmlhttp。开线。
现在我了解到 AJAX 不能在不同的域上工作,但在这种情况下它们肯定在同一个域上吗?或者也许我对域的想法是完全错误的。希望大家能帮到新手。干杯。
【问题讨论】:
标签: javascript ajax webserver cross-domain