从其他页面刷新页面

Refresh a page from another page

本文关键字:刷新 其他      更新时间:2023-09-26

我正在使用jQuery调用从一个页面(contentPage)获取内容,并每30秒将其重新显示到我所在的当前页面(tablePageontentPage上的项数发生更改时,我希望刷新tablePage

有没有办法将刷新从contentPage发送到tablePage

注意:如果可能的话,我不想在contentPage上使用某种计数变量作为tablePage

只需包含contentPage中的一些数据,如refresh=true,并在tablePage上检查该变量,如果它是"true",则执行以下javascript:

window.location.href = '{MyUrl}' + '?nocache=' + Date.parse(new Date());

nocache有助于确保根据浏览器进行刷新。

因此,您可以采取的另一个方向是用javascript创建表的模板,并在函数中每次重建。我认为以下代码将帮助您重新思考当前的方向,这样您就不必刷新该页面,只需刷新表,就可以使用当前会话触发器调用函数buildTable,而不是location.href=location.href,这只是猜测,因为您没有包含任何代码片段:(我在这个javascript中的某些地方使用jQuery)

function buildTable(postDataFromContentPage){
     var trItems = [];
     var itemHeaderTemplate = '<th>{DataItemTitle1}</th><th>{DataItemTitle2}</th>';
     var itemBodyTemplate = '<tr><td>{DataItem1}</td><td>{DataItem2}</td></tr>';
     itemHeaderTemplate = itemHeaderTemplate.replace('{DataItemTitle1}',data.DataItemTitle1).replace('{DataItemTitle2}',data.DataItemTitle2);
     $('#tableHeader').html(itemHeaderTemplate);
     $.each(data.RowItemsArray, function (index, element) {
           //RowItemsArray is a 2 dimensional array
            itemBodyTemplate = itemBodyTemplate.replace('{DataItem1}',element{0}).replace('{DataItem2}',element{1});
            trItems.push(itemBodyTemplate );
        });
      $('#tableBody').html(items.join(''));
      //now you can just call buildTable function anytime to rebuild table
}//end function
<!--HTML-->
    <table>
    <thead id="tableHeader"></thead>
    <tbbody id="tableBody"></tbody>
    </table>