2016-12-18 5 views
1

Я хочу получить доступ к данным JSON из arangoDB, который я установил локально из браузера (собственный интерфейс). Я получаю запрос «401 Unauthorized», как я могу это исправить?Доступ к данным ArangoDB от браузера

function getRequest(){ 
    alert("test") 
    var request = new XMLHttpRequest(); 
    request.open("GET","http://[email protected]: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

Вы не используете базовую аутентификацию.

Измените функцию следующим образом:

function getRequest(){ 
    var request = new XMLHttpRequest(); 
    var user = "root"; 
    var pass = ""; 
    request.open("GET","http://[email protected]: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(); 
} 
+0

Я не генерировать пароль, поэтому я оставил это место пустого – David

+0

@David Я изменил мой ответ –

+0

Теперь он работает, спасибо Даниэль. Вы также знаете, как я могу получить всю коллекцию, а не только конкретный документ в коллекции? – David