2017-04-18 7 views
2

객체 배열을 반환하는 ajax 요청이 있는데 인쇄용으로 다른 페이지로 반환해야합니다. 하지만이 배열을 다른 탭이나 페이지로 전달하는 방법을 모르겠습니다.JS - 새 창에 객체 배열을 전달합니다.

$.ajax({ 
     type: "POST", 
     url: "atualizeOrder", 
     data: JSON.stringify(ordens), 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function(list) { 
      console.log(list); 


      var printWindow = window.open('/erp/index/test'); 
      printWindow.document.write(list); 
      printWindow.addEventListener('load', function(){ 
       printWindow.print(); 
       printWindow.close(); 
      }, true); 



     } 
    }); 
+0

(콧수염 등) 템플릿 엔진에서이 작업을 수행 할 수 있습니다 현재합니까? – 4castle

+0

[object Object] – scooby

+0

printWindow.document.write (JSON.stringify (list));를 사용 해보세요. – 4castle

답변

1

그냥 자식 창에 배열을 할당합니다

printWindow.myList = list; 

는 그 다음 전역 변수 myList

당신은 또한 사전 렌더링 할 수있는 자식 창 내부에서 실행되는 자바 스크립트 코드에 액세스 할 수 있습니다 문양 부모 윈도우와 자식 창에 결과 HTML을 추가, 당신은 당신의 코드를 무엇 jQuery를 또는

var renderedListHTML = Mustache.render("HTML TEMPLATE HERE", list); 
printWindow.document.write(renderedListHTML); 
+0

질문 주셔서 감사합니다.하지만 myList 변수를 어떻게 조작 할 수 있습니까? 새 페이지에서이 변수에 액세스하려고하면 정의되지 않습니다 – scooby

+0

erp/index/test 페이지에서 스크립트를 추가하기 만하면 전역 변수로 액세스 할 수 있습니다. –

0

시도해 보셨습니까?

var printWindow = window.open('/erp/index/test'); 
printWindow.list = list; 

여기서 "목록"은 새 창 개체의 속성이되므로 매우 쉽게 조작 할 수 있습니다.

관련 문제