2016-12-12 7 views
0

간단한 예를 들어 다음 질문에 도움을 드리고자했습니다. could-anyone-provide-aikau-form-example-with-data-loadingRepo 요청시 아이카우에서 401 오류가 발생했습니다

기본적으로 양식 대화 상자가로드되고 대화 상자에 문서 libray noderef를 표시하려고 할 때 repo 요청을 수행합니다. 그래서 대화로드 중에 makeRepoRequest()을 호출했지만 네트워크 탭에서 401 오류가 발생합니다.

알려주십시오.이 샘플의 문제점은 무엇입니까?

/* studentForm.get.js */ 
function makeRepoRequest() 
{ 
    var alfDestination = "something"; 


    var site = page.url.templateArgs.site; 
    var result = remote.call("/slingshot/doclib/container/" + site + "/documentLibrary"); 
    return result.status.code; 
    if (result.status.code == status.STATUS_OK) { 
     alfDestination = JSON.parse(result).container.nodeRef; 
    } 
} 

var formControls = [ 
    { 
    name: "alfresco/forms/controls/TextBox", 
    config: { 
     name: "name1", 
     label:"Name", 
     placeHolder:"Enter Name Here", 
     visibilityConfig: { 
     initialValue: true 
     } 
    } 
    }, 
    { 
    name: "alfresco/forms/controls/TextBox", 
    config: { 
     label:"Age", 
     name: "age", 
     placeHolder:"Enter Age Here", 
     visibilityConfig: { 
     initialValue: true 
     } 
    } 
    } 
    , 
    { 
    name: "alfresco/forms/controls/TextBox", 
    config: { 
     label:"NodeRef", 
     name: "nodeRef", 
     visibilityConfig: { 
     initialValue: true 
     }, 
     value : makeRepoRequest() 
    } 
    } 
]; 

var showDialog = { 
    name: "alfresco/buttons/AlfButton", 

    config: { 
    readOnly:"true", 
    id:"dialog1", 
    label: "Create New Student", 
    additionalCssClasses: "call-to-action", 
    publishTopic: "ALF_CREATE_FORM_DIALOG_REQUEST", 
    publishPayloadType: "PROCESS", 
    publishPayload: { 
     dialogTitle: "Student Form", 
     dialogConfirmationButtonTitle: "Register", 
     dialogCancellationButtonTitle: "Cancel", 
     formSubmissionTopic: "ALF_CRUD_CREATE", 
     formSubmissionPayloadMixin: { 
     url: "api/type/cm%3Astudent/formprocessor" 
     }, 
     fixedWidth: true, 
     widgets: formControls 
    } 
    } 
}; 

model.jsonModel = { 
widgets :[showDialog 
     ], 
services : [ 
      "alfresco/dialogs/AlfDialogService", 
      "alfresco/services/CrudService" 
     ]  
}; 

답변

1

401 상태 코드는 사용자가 인증되지 않았 음을 나타냅니다. 이 코드를 어디에 실행하고 있습니까? 공유 또는 독립 실행 형 Aikau 클라이언트에 있습니까? 사용자가 로그인 했습니까? 해당 API에 액세스하는 데 필요한 권한이 있습니까? 그들은 사이트의 회원입니까? 사이트의 개인 정보는 무엇입니까?

+0

정보가 누락되면 죄송합니다. Alfresco Share에서 실행 중이며 사용자 이름이 admin 인 사이트는 공개되어 있습니다. –

+1

그리고 코드를 실행하기 전에 로그인하셨습니까? 로그인 한 브라우저에서 해당 URL을 직접 사용하려고하면 어떻게됩니까? –

0

는 내가 그것을 잘 작동, alfreso SDK에 정적 (예 데모를) 내 사이트 이름을주는 코드를 테스트하고

function makeRepoRequest() 
{ 
var alfDestination = "something"; 


var site = "demo"; 
var result = remote.call("/slingshot/doclib/container/" + site + "/documentLibrary"); 

if (result.status.code == status.STATUS_OK) { 
    alfDestination = JSON.parse(result).container.nodeRef; 
} 
return alfDestination ; 
} 

당신은 어떤 사이트 이름이 점점인지 테스트 한이 코드를 사용 nodeRef 저를 제공 한 옳은? 브라우저 URL을 사용하여이 코드를 테스트했습니다.