ExtJS post json数据访问控制允许源错误

ExtJS post json数据访问控制允许源错误,json,ajax,extjs,Json,Ajax,Extjs,我试图使用ELK容器在Kibana仪表板上发布一些json数据,但我得到了错误XMLHttpRequest无法加载myUrl。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。尽管存在错误,但它在Kibana dashboard上以“message=test”作为一个字符串显示整个json中的数据,其中必须只有“test”。 即使我的错误json数据被正确发送并显示在Kibana上,它也会一直向我发出“失败”警报 我的职能是 sen

我试图使用ELK容器在Kibana仪表板上发布一些json数据,但我得到了错误XMLHttpRequest无法加载myUrl。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。尽管存在错误,但它在Kibana dashboard上以“message=test”作为一个字符串显示整个json中的数据,其中必须只有“test”。
即使我的错误json数据被正确发送并显示在Kibana上,它也会一直向我发出“失败”警报

我的职能是

    sendLog: function()
    {

      Ext.Ajax.request({
           url: url,
           cors: false,
           useDefaultXhrHeader : false,
           method: 'POST',
           params:
           {    
                "message": "test"
           },
           success: function () {
               alert('success');
           },
           failure: function () {
               alert('failure');
           }
       });  
    } 
  • 正如您已经发现的那样,Ajax请求是有效的:服务器获取请求并对其进行处理
  • 每个请求都由服务器(Kibana)响应
  • 您的浏览器不允许您的应用程序访问该响应,因为服务器没有发回具有适当值的“access Control allow Origin”标头。通过这种方式,浏览器确保恶意javascript不能从整个web的任意服务器加载任意数据,除非服务器明确允许。这叫做CORS,你可以在网上找到关于这个主题的大量资源
例如,进一步阅读:

您必须检查是否以及如何告诉Kibana将自定义Http头和响应一起发送回去