JS - 将对象数组传递给新窗口

时间:2017-04-18 17:31:12

标签: javascript java window.open

我有一个返回对象数组的ajax请求,我需要将它们返回到另一个页面进行打印。但我不知道如何将这个对象数组传递给另一个标签页或页面。

   $.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);



         }
    });

2 个答案:

答案 0 :(得分:1)

只需在子窗口中指定数组:

printWindow.myList = list;

然后可以在子窗口内执行的任何JavaScript代码中访问它作为全局变量myList

您还可以在父窗口中预呈现lis并将生成的HTML附加到子窗口,您可以在jQuery或模板引擎(如Mustache)中执行此操作

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

答案 1 :(得分:0)

你尝试过这样的事吗?

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

这里"列表"成为新窗口对象的属性,因此您可以非常轻松地操作它。