2016-08-18 4 views
0

XPages 애플리케이션에서 Google 차트 API를 사용하려고합니다. 문서에서 제공하는 코드 예제를 사용하고 있습니다. https://developers.google.com/chart/interactive/docs/php_example#exampleusingphphtml-fileJquery AJAX 호출에 인증이 필요합니다.

LS 에이전트 호출로 PHP 페이지를 호출해야합니다. 내 로컬 도미노 서버에서

 var jsonData = $.ajax({ 
     url: "http://server/database/agent?openagent", 
     dataType: "json", 
     async: false 
     }).responseText; 

, 그것은 잘 작동 :

 var jsonData = $.ajax({ 
     url: "getData.php", 
     dataType: "json", 
     async: false 
     }).responseText; 

그래서 내 코드에 간다. 프로덕션 도미노 서버에서 아무 것도 얻지 못합니다. 차트는 그려지지 않습니다. js 클라이언트 측을 디버깅 한 후, 전에 로그인해야하더라도 AJAX 호출이 인증을 기다리고있는 것 같습니다.

익명 액세스는 두 서버에서 허용되지 않습니다. 보안 수준이 두 환경에서 동일하게 보입니다.

도움이 될 것입니다 (또는 내가 잘못하면 다른 방법으로 진행할 수 있습니다). 로컬 서버에서 구글 차트를 그릴 수 있다면

+0

당신은 익명 HTTP 액세스 할 수 없습니다되어 있는지 확인 있습니까? 데이터베이스의 ACL을 점검하십시오. 또한 로컬 Domino 서버와 프로덕션 서버에서 http : // server/database/agent? openagent에 직접 액세스 해보십시오. –

+0

두 서버의 에이전트 호출을 확인했습니다. 두 서버 모두에서 에이전트 결과를 얻으려면 먼저 로그인해야합니다. 익명 항목이 두 데이터베이스의 LCA에서 액세스 권한 없음으로 설정되었습니다. NetDeamon의 솔루션을 구현하려고 시도했지만 더 이상 결과가 없습니다. – Techn0fil

+1

익명으로 에이전트를 사용할 수있게하려면 익명에게 ACL에 올바른 액세스 권한을 부여해야합니다. –

답변

0

마지막으로 Jquery 대신 dojo를 통해 ajax 요청을 실행하려고했습니다. 내 코드는이 하나가되었다 :

var jsonData = dojo.xhrGet({ 
    url: "http://server/database/agent?openagent", 
    handleAs:"json", 
    ... 
}) 

나는 보안 수준 또는 다른 어떤에서 변경은하지 않았다.

왜 jquery 구문이 dojo 구문과 잘 작동하지 않는지 이해할 수 없습니다.

어쨌든, 지금 작동 중입니다. // 서버/데이터베이스/에이전트 openagent 지역 Domino 서버에 : 귀하의 제안에 대한 모든

많은 감사

0

감사하지만 프로덕션 서버에서, 이것은 서버 문제를 의미합니다.

당신은 인증 아약스 요청

$.ajax({ 
    headers: { 
    "Authorization": "Bearer <TOKEN HERE>" 
    } 
}) 

또한 send username and password in jquery ajax call, 인증 요청을 할 수 있습니다를 만들기 위해 authentication header in your jquery ajax call를 추가 할 수 있습니다. 다음은 링크의 샘플 코드입니다.

+0

안녕하세요, 너무 빨리 답변 해 주셔서 감사합니다. 아쉽게도 아약스 호출의 헤더가 제대로 작동하지 않습니다. 해시 메서드의 결과가 도미노 서버가 자격 증명으로 예상되는 것이 아닌 것 같음 조사를 계속합니다 – Techn0fil

+0

프로덕션 서버에 로그인하면 (정상 로그인 페이지를 통해) 정상적인 아약스 호출을하면 어떻게됩니까? . 인증 오류가 발생합니까? 아약스 호출의 헤더에 토큰이나 사용자 이름/패스워드를 전달하는 것은 서버가 그것을 고려한 경우에만 작동하며, 그렇지 않은 경우 작동하지 않습니다. – Netdeamon

관련 문제