Access ArangoDB data from browser

178 Views Asked by At

I want to get access to JSON data from arangoDB, which I installed locally from the browser (own interface). I get the "401 Unauthorized" request, how can I fix this?

function getRequest(){ 
    alert("test")
    var request = new XMLHttpRequest();
    request.open("GET","http://root@localhost:8529/_db/_system/_api/document/FC_ACTUAL_SALES/945545",true);
    request.setRequestHeader('Content-Type','application/json');
    request.setRequestHeader('Access-Control-Allow-Credential','true');
    request.responseType = 'json';
    request.addEventListener('load', function(event) {    
        if (request.status >= 200 && request.status < 300) {
            console.log(request.responseText);    
        } else {
            console.warn(request.statusText, request.responseText);    
        }
    });
    request.send();
}
1

There are 1 best solutions below

5
On

You are not using basic authentication.

Change your function to this:

function getRequest(){ 
    var request = new XMLHttpRequest();
    var user = "root";
    var pass = "";
    request.open("GET","http://root@localhost:8529/_db/_system/_api/document/FC_ACTUAL_SALES/945545",true);
    //Use Basic authentication
    request.setRequestHeader("Authorization", "Basic " + btoa(user + ":" + pass)); 
    request.setRequestHeader('Content-Type','application/json');
    request.setRequestHeader('Access-Control-Allow-Credential','true');
    //request.responseType = 'json'; <--Notice it was removed
    request.addEventListener('load', function(event) {    
        if (request.status >= 200 && request.status < 300) {
            console.log(request.responseText);    
        } else {
            console.warn(request.statusText, request.responseText);    
        }
    });
    request.send();
}