簡體   English   中英

Bonsai Elasticsearch附加組件:401未經授權的錯誤

[英]Bonsai Elasticsearch add-on: 401 Unauthorised Error

為了部署使用Elasticsearch的firebase應用程序,我正在使用Heroku Bonsai附加組件。

一切都設置好了,問題是我在傳遞Ajax請求時遇到了未經授權的錯誤。 完全相同的代碼在本地( link )上運行正常,但在部署上卻沒有。

阿賈克斯

$(function() {
    $('#message').keyup(function() {
        var query = {
            "query": {
                "match": {
                    "song": {
                        "query": $("#message").val(),
                        "operator": "and"
                    }
                }
            }
        };

        $.ajax({
            type: "POST",
            url: "https://<username>:<password>@xxxwood-5671445.xx-xxxx-1.bonsaisearch.net/firebase/_search",
            contentType: 'application/json',
            crossDomain: true,
            data: JSON.stringify(query),
            success: searchSuccess,
            dataType: 'json'
        });

    });

});

我為盆景URL使用了正確的用戶名和密碼,但無法正常工作。

控制台錯誤: 在此處輸入圖片說明

Chrome控制台錯誤: 在此處輸入圖片說明

cURL可以正常工作:

[~]$ curl -XGET 'https://<username>:<password>@dogwood-5671445.xx-xxxx-1.bonsaisearch.net/firebase/_search?pretty' -H 'Content-Type: application/json' -d'
{"query": {"match": {"song": {"query": "i am in", "operator": "and"}}}}'

cURL結果:

{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "failed" : 0
  },
  "hits" : {
    "total" : 1,
    "max_score" : 1.4048493,
    "hits" : [ {
      "_index" : "firebase",
      "_type" : "song",
      "_id" : "0001",
      "_score" : 1.4048493,
      "_source" : {
        "song" : "i am in california",
        "song_name" : "hello",
        "song_url" : "https://xxx.xx/xxxx"
      }
    } ]
  }
}

問題:我想念什么?

可能Ajax沒有從URL傳遞憑據。 通過HTTP標頭附加身份驗證,如下所示: 如何在jQuery和AJAX中使用基本身份驗證?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM