访问控制允许本地机器中的原始错误

时间:2016-12-16 09:36:21

标签: javascript ajax

尝试访问本地节点服务器时遇到以下错误。有人请帮我解决这个问题。

XMLHttpRequest无法加载http://localhost:3000/。对预检请求的响应没有通过访问控制检查:否'访问控制 - 允许 - 来源'标头出现在请求的资源上。起源' null'因此不允许访问。

<!DOCTYPE html>
<html>
<head>
    <title>Test Service</title>
</head>
<body >
<script>
    function _service(url, callback) {
      var httpRequest;
      if (window.XMLHttpRequest) {
        httpRequest = new XMLHttpRequest();
      } else if (window.ActiveXObject) {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
      }

      httpRequest.onreadystatechange = function() {
        if (httpRequest.readyState === 4 &&
          httpRequest.status === 200) {
          callback.call(httpRequest.responseText, "abc", "xyx");
        }
      };
      httpRequest.open('GET', url);
      httpRequest.setRequestHeader('Access-Control-Allow-Headers', '*');
      httpRequest.setRequestHeader('Content-type', 'application/ecmascript');
      httpRequest.setRequestHeader('Access-Control-Allow-Origin', '*');
      httpRequest.send();
    }

    function _one(a){
        if(!a){
            _service("http://localhost:3000", function() {
              var a = JSON.parse(this);
              _one(a)
            });     
        }else{
            console.log(a);
        }
    }
    _one();

</script>
</body>
</html>

我的节点服务器在下面。

var http = require("http");
var server = http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/html"});
  response.write("Welcome to node js");
  response.end();
});

server.listen(3000, (err) => {  
  if (err) {
    return console.log('something bad happened', err)
  }
});

我只是通过节点index.js运行我的节点服务器,这是节点文件。这两个文件都在同一个文件夹中。

0 个答案:

没有答案