2012-05-14 1 views
2

저는 AppHarbor에서 RavenDB를 사용하여 jQuery를 사용하여 인덱스를 쿼리합니다. 나는 무단으로 HTTP 401을 얻는다. 로컬 연결 문자열을 사용하면 모든 것이 정상적으로 작동하며 Appharbor에서 내 데이터베이스를 가리키는 요청을 수락하도록 RavenDB를 설정해야한다고 가정합니다. 이 같은 모습을 쿼리에 사용하는 JQuery와합니다 (queryUrl이 유효) :AppHarbor에서 jquery를 사용하여 RavenDB를 쿼리하는 HTTP 401

function search(queryUrl) {    
     $.ajax({ 
      url: queryUrl, 
      dataType: 'jsonp', 
      jsonp: 'jsonp',        
      success: function (data) { 
       $("#companiesHolder").empty();      

       $.each(data.Results, function() { 
        $("#companiesHolder").append("<li><hgroup class='title'><h2>" + this.Name + "</h2><h5>" + this.Email + "</h5></hgroup></li>"); 
       });           
      }, 
      error: function (error, stat, message) { 
       alert(stat + ":" + message); 
      } 
     }); 

내가 브라우저에서 얻을 오류 :

parsererror:jQuery162024808977324209974_1337018748684 was not called

가 어떻게 내 수 있도록 AppHarbor에 RavenDB을 구성 할 수 있습니다 의뢰? 또는 jQuery를 사용하여 요청과 함께 보내야합니까? (아마도 나는 documentStore에 설정된 ApiKey를 보내야 할 것입니다.) 일부 쿼리의 경우 승인이 필요하다면 어떻게 될까요? 그렇지 않다면 어떻게 처리해야합니까?

답변

2

확실히 인증 (특히 API 키 described here)을 보내야합니다. 나는 RavenDB가 인증을 위해 사용하는 스키마에 익숙하지 않지만 source code을 확인할 수 있습니다.

공개 자바 스크립트 파일에 API 키를 포함시키는 것은 좋지 않습니다.

+0

API 키를 지정한대로 사용했습니다. MVC에서 첫 번째 쿼리를 초기화하고 만들 수있는 방법입니다. API 키 또는 jquery를 사용하여 API 키를 보낼 수있는 방법은 무엇입니까? –

5

jQuery에서 RavenDB 인스턴스로 곧바로 연결할 수 없습니다. API 키를 전달해야합니다. API 키는 다른 사람이 연결할 수 있도록 공개 자바 스크립트 파일에 공개합니다.

앱에서 API 끝점을 생성하고이를 실행하면 쿼리가 실행되어 결과가 반환됩니다.

+0

좋은 조언 주셔서 감사합니다. –