在成功的ajax调用上,打开一个新窗口并附加数据

时间:2013-09-21 17:35:17

标签: jquery ajax

当我尝试在同一页面中显示数据时,它工作正常,但我需要打开一个新的窗口/选项卡,并在页面上附加数据

$.ajax({
    async : true,
    type : 'GET',
    cache : false,
    url : 'rest/getReport',
    data : 'startDate=' + fromDate + '&endDate=' + toDate,
    datatype : 'json',
    success : function (data) {
        that.viewReport(data);
    },

    complete : function (data) {
          $('#search-box').find('img.waiting').css('visibility', 'hidden');
    }
});

这是成功的方法

viewReport : function (data) {
    var table;
    window.open("details.htm");
    table = $('#Report table');//#report is id of div in details.htm
    if (data.length == 0) {
        $('#Report .no-view-error').show();
        return;
    }
    table.empty();
    $.each(data, function (index, item) {
        var row = '<tr id="tkNo-' + item.num + '">';
        row += '<td>' +item.Date + '</td>';
        row += '<td>' +item.Type + '</td>';
        row += '<td>' +item.Num + '</td>';
        row += '<td>' +item.receivedDate + '</td>';
        row += '<td>' +item.doneBy + '</td>';
        row += '<td>' +item.comments + '</td>';
        row += '</tr>';
    table.append(row);//appending rows to table in the new page
    });
}

在我的jsp页面中,代码是

<div id="Report" class="showDetails">
<div class="error-box no-view-error">There are no details in this period.</div>
<table></table>
</div>

1 个答案:

答案 0 :(得分:0)

请尝试以下代码

viewReport : function (data) {
var table;
var new_window = window.open("details.htm");
table = $(new_window.document).find('#Report table');//#report is id of div in details.htm
if (data.length == 0) {
    $('#Report .no-view-error').show();
    return;
}
table.empty();
$.each(data, function (index, item) {
    var row = '<tr id="tkNo-' + item.num + '">';
    row += '<td>' +item.Date + '</td>';
    row += '<td>' +item.Type + '</td>';
    row += '<td>' +item.Num + '</td>';
    row += '<td>' +item.receivedDate + '</td>';
    row += '<td>' +item.doneBy + '</td>';
    row += '<td>' +item.comments + '</td>';
    row += '</tr>';
table.append(row);//appending rows to table in the new page
});

}

您可以参考此链接:here