javascript – XMLHttpRequest从远程主机获取HTTP响应

为什么以下代码 Based on Mozilla example不起作用?使用Firefox 3.5.7&铬.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
</body>
  <script>
    var req = new XMLHttpRequest();
    req.open('GET','http://www.mozilla.org/',false); 
    req.send();
    if(req.status == 200) {
        alert(req.responseText);
    }
  </script>  
</html>

请浏览器从本地磁盘(文件:/// C:/ Users / Maxim Veksler / Desktop / XMLHTTP.html)中拉出html

在Firefox上,它会出现以下错误

uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: file:///C:/Users/Maxim%20Veksler/Desktop/XMLHTTP.html :: <TOP_LEVEL> :: line 10" data: no]

我究竟做错了什么?我想向远程主机提交请求并提醒结果(稍后添加到div中).

解决方法

您的浏览器正在阻止 cross-site scripting.您必须使用相对路径,否则大多数浏览器将简单地返回错误或空的responseText.

以下堆栈溢出帖子可能也与您的问题有关:

> Empty responseText from XMLHttpRequest.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...