ElasticSearch提供跨域访问的配置方法

找到config文件夹下的elasticsearch.yml,在文件的末尾添加如下内容:

http.cors.enabled: true
http.cors.allow-origin: "*"

利用AJAX跨域修改数据的方法如下:

var baseUrl = 'http://localhost:9200/',
    putUrl = baseUrl + 'events/logon_event/2',
    datas = {
        "name": "郭富城",
        "occur_time": "2015-05-09",
        "enabled": false,
        "times": 22
    };
//  提交数据内容
$.ajax(putUrl, {
    type : 'PUT',
    //  一定要设置contentType,以payload方式提交
    contentType: 'application/json',
    //  数据一定转换为字符串
    data : JSON.stringify(datas),
    success : function(datas) {
        console.log(datas)
    }
})

现在就可以用javascript来制造数据了。

结论

ElasticSearch以payload的方式提交数据,所以设置“Content-Type”头信息是AJAX执行成功的关键。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
如果 Elasticsearch 服务已经启动,但是在页面中无法访问,可能是以下原因导致的: 1. Elasticsearch 服务监听的端口号不正确。默认情况下,Elasticsearch 服务监听的端口号为 9200。可以尝试使用以下命令检查 Elasticsearch 是否正在监听该端口: ``` curl http://localhost:9200/ ``` 如果返回类似下面的信息,则表示 Elasticsearch 服务已经正常启动: ``` { "name" : "node-1", "cluster_name" : "elasticsearch", "cluster_uuid" : "iCdI3tTXTwOe1F1xR8R5TQ", "version" : { "number" : "7.9.2", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "d34da0ea4a966c4e49417f2da2f244e3e97b4e6e", "build_date" : "2020-09-23T00:45:33.626720Z", "build_snapshot" : false, "lucene_version" : "8.6.2", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" } ``` 2. 防火墙或其他安全设置阻止了访问 Elasticsearch 服务。可以尝试在 Elasticsearch 所在的机器上或者访问 Elasticsearch 的机器上关闭防火墙或者修改相应的设置。 3. Elasticsearch 配置了安全认证,需要在请求中提供相应的认证信息。可以参考 Elasticsearch 的官方文档,了解如何在请求中提供安全认证信息。 4. Elasticsearch 配置跨域资源共享(CORS)限制,需要在 Elasticsearch配置文件中添加相应的设置。可以参考 Elasticsearch 的官方文档,了解如何配置 CORS。 如果以上方法都无法解决问题,可以在 Elasticsearch 的日志文件中查找更详细的错误信息,或者在 Elasticsearch 官方论坛上提问寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值