2016-10-16 6 views
0

나는 나의 custom-toolbar.js에서 View Policy 버튼이 있습니다. 버튼을 클릭하면 새 탭에 Policy 폴더가 열립니다. 이것은 내가 지금까지 해왔 던 것이다.어떻게 AJAX를 사용하여 프레스코에서 새 탭에서 폴더를 열지?

/** 
    * View Policy button click handler 
    * 
    * @method onViewDocument 
    * @param e {object} DomEvent 
    * 
    */ 
    onViewPolicy: function DLTB_onViewPolicy(e, p_obj) 
    {     
     var newPath = this.currentPath + "/Policy", 

     filter = this.currentFilter; 
     filter.filterData = newPath; 
     // Refresh the Document Library 
     YAHOO.Bubbling.fire("changeFilter", filter); 

    } 

그러면 같은 탭에 폴더가 열립니다. 어떻게 Alfresco.util.Ajax.request이 상황에서 사용을 중단하고 새 탭에서 열기 할 수 있습니까? 또한 Policy 폴더가 아무것도 반환하지 않으면 오류 메시지를 표시 할 수 있습니까?

답변

0

당신이 원하는 모든 새 탭에서 경로를 열 경우, 당신은 그냥 할 필요가 window.open(url);를 사용합니다. 당신이 webscript를 호출하여 검증을 수행 할 경우

, 당신은 Alfresco.util.Ajax.request를 사용할 수 있습니다.

샘플 코드 :

Alfresco.util.Ajax.request({ 
       type: "GET", 
       url: Alfresco.constants.PROXY_URI.replace('share/proxy/alfresco', 'alfresco/service') + {webscript url}, 
       dataType: 'text', 
       headers: { 
        Accept: "application/json", 
        "Access-Control-Allow-Origin": "*", 
        "Access-Control-Allow-Methods": "GET" 
       }, 
       successCallback: { 
        fn: function(response) { 
      //collect the output. 
      //if json 
      output = JSON.parse(response.serverResponse.responseText); 
      var result =output["result"]; 
      //if html is the output 
      output = (response.serverResponse.responseText); 
      var result =/<body.*?>([\s\S]*)<\/body>/.exec(output)[1];//to get contents inside body tag 
      if(result says folder is present) 
      { 
      window.open(newurl); 
      } 
      else 
      { 
      //show error popup. 
      } 
        }, 
        scope: this 
       }, 
       failureMessage: "", 
       execScripts: true 
      }); 
+0

내가 직접 URL로 newpath를 할당 할 수 없습니다 나는 필터 교환을하지 않는 한 나는 그것에 대해 어떻게 가야 (404) 나에게 반환? 나는 Alfresco의 초보자입니다. – BlueStar

+0

내가 직접 URL로 newpath를 할당 할 수 없습니다 나는 필터 교환을하지 않는 한 나는 그것에 대해 어떻게 가야 (404) 나에게 반환? 나는 Alfresco의 초보자입니다. – BlueStar

+0

@BlueStar : 초보자입니다. 문제를 해결할 수있는 해결 방법을 제시 할 수 있습니다. url = window.location.href.substr (0, window.location.href.indexOf ("&") - 3) + "% 2FPolicy % 7C & page = 1"; URL을 얻으려면 아래를 시도하십시오 –