JS - 将对象数组传递给新的 window
JS - Pass an array of objects to a new window
我有一个 ajax 请求 return 对象数组,我需要将它们 return 在另一页上打印。但是我不知道如何将这个对象数组传递到另一个选项卡或页面。
$.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);
}
});
你试过这样的东西吗?
var printWindow = window.open('/erp/index/test');
printWindow.list = list;
此处 "list" 成为新 window 对象的 属性,因此您可以很容易地操作它。
只需在 child window:
中分配数组
printWindow.myList = list;
然后它将在 child window 内执行的任何 JavaScript 代码中作为全局变量访问 myList
您还可以 pre-render parent window 中的列表并将结果 HTML 附加到 child window,您可以在 jQuery 或模板引擎(如 Mustache)
中执行此操作
var renderedListHTML = Mustache.render("HTML TEMPLATE HERE", list);
printWindow.document.write(renderedListHTML);
我有一个 ajax 请求 return 对象数组,我需要将它们 return 在另一页上打印。但是我不知道如何将这个对象数组传递到另一个选项卡或页面。
$.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);
}
});
你试过这样的东西吗?
var printWindow = window.open('/erp/index/test');
printWindow.list = list;
此处 "list" 成为新 window 对象的 属性,因此您可以很容易地操作它。
只需在 child window:
中分配数组printWindow.myList = list;
然后它将在 child window 内执行的任何 JavaScript 代码中作为全局变量访问 myList
您还可以 pre-render parent window 中的列表并将结果 HTML 附加到 child window,您可以在 jQuery 或模板引擎(如 Mustache)
中执行此操作var renderedListHTML = Mustache.render("HTML TEMPLATE HERE", list);
printWindow.document.write(renderedListHTML);