Javascript 无法从URL获取响应

Javascript 无法从URL获取响应,javascript,url,xmlhttprequest,request,Javascript,Url,Xmlhttprequest,Request,我在这个问题上花了好几个小时,我的同事们帮不了我。他说这可能是一个跨站点脚本问题,可能是我的系统设置导致了这个问题,因为脚本在我同事的机器上运行良好 下面是一个简单的例子: <!DOCTYPE html> <html> <head> <script type="text/javascript"> var req = new XMLHttpRequest(); var url = "http://www.javascriptkit.com/dhtml

我在这个问题上花了好几个小时,我的同事们帮不了我。他说这可能是一个跨站点脚本问题,可能是我的系统设置导致了这个问题,因为脚本在我同事的机器上运行良好

下面是一个简单的例子:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var req = new XMLHttpRequest();
var url = "http://www.javascriptkit.com/dhtmltutors/javascriptkit.json";
req.open("GET", url, false);
try {
    req.send();
} catch (e) {
    alert("ERROR: " + e);
}
</script>
</head>
<body>
</body>
</html>

var req=新的XMLHttpRequest();
变量url=”http://www.javascriptkit.com/dhtmltutors/javascriptkit.json";
请求打开(“GET”、url、false);
试一试{
请求发送();
}捕获(e){
警报(“错误:+e”);
}
执行代码时,将显示一个错误:

ERROR: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE)"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: chrome://firebug/content/console/commandLineExposed.js :: <TOP_LEVEL> :: line 156"  data: no]
ERROR:[异常…”组件返回的故障代码:0x80004005(NS_错误)”nsresult:“0x80004005(NS_错误)”位置:“JS帧::chrome://firebug/content/console/commandLineExposed.js 第156行“数据:否]
我在本地主机、firebug控制台和JSFIDLE上运行了这段代码,但它们都不工作

我确信我的本地服务器运行良好,因为测试脚本
alert(“works”)
正在运行


任何人都可以帮我。这是系统设置问题吗?谢谢

我相信你不能打这样的跨域电话

XMLHttpRequest
到其他域?除非他们在响应中设置标题
Access Control Allow Origin
,否则您将无法获得它。无论如何,在Opera(至少是11.64版)中,你将无法获得它


我认为您同事的计算机配置不安全。

XMLHttpRequest受浏览器的同源策略的约束,因为出于安全原因,只有向为原始网页提供服务的同一服务器发出请求时,请求才会成功。

您可以使用代理检索外部内容

如上所示:。在这里,他们从PHP页面发出外部请求,并在javascript函数调用中使用它


这里是指向演示页面主页的链接:

HTTP
的正文中指定
null
,>
req.send(null)这是干什么用的?与
req.send()
不同?我不太明白,谢谢。我第一次使用XMLHttpRequest,没有意识到这个限制。我发现有人可以像我的同事一样访问服务器,现在我可以得到我想要的数据了。谢谢