Javascript 跨域请求错误:否';访问控制允许原点';请求的资源上存在标头

Javascript 跨域请求错误:否';访问控制允许原点';请求的资源上存在标头,javascript,logstash,Javascript,Logstash,我正在尝试执行跨域请求,但遇到以下错误: 无法加载XMLHttpRequest。对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此,不允许访问源“” 这是我的代码: var params = 'a=a'; var http = new XMLHttpRequest(); uri = 'http://127.0.0.1:31312/'; http.open('POST',uri,true); http.setRequestHead

我正在尝试执行跨域请求,但遇到以下错误:

无法加载XMLHttpRequest。对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此,不允许访问源“”

这是我的代码:

  var params = 'a=a';
  var http = new XMLHttpRequest();      
  uri = 'http://127.0.0.1:31312/';
  http.open('POST',uri,true);
  http.setRequestHeader("Access-Control-Allow-Origin", "*");
  http.withCredentials = false;
  http.onload = function() { 
    if (http.status == 200) {
      ...
    } else {
      ...
    }
  }
  http.send(params);
在服务器端,我使用Logstash2.4中的插件

如何解决此问题?

需要由服务器在其响应中发送“Access Control Allow Origin”标头,而不是由客户端在其请求中发送


我不熟悉logstash插件,但是快速查看一下您链接的文档,您应该能够将其添加到插件中的响应头散列中。

您是在服务器端使用nodejs、php还是什么?这是一个服务器端的问题。明白了,服务器端是来自logstashIs的http输入插件这个Elasticsearch?没有Elasticsearch是另一回事。Logstash只是记录器数据。Elasticsearch可以是logstash日志的输出,但不需要。您必须在logstash配置中添加响应头
“Access Control Allow Origin”、“*”
,您在客户端设置它,这没有任何效果。