Javascript 使用innerHTML重新加载页面的中心窗格

Javascript 使用innerHTML重新加载页面的中心窗格,javascript,html,innerhtml,Javascript,Html,Innerhtml,我希望使用以下方法来更新页面的中心窗格,而不是使用iframe 我想在以下方面得到一些帮助。 如果我想将另一个HTML页面加载到中心窗格中,那么正确的语法是什么 document.getElementById( 'centerPane' ).innerHTML.??? = 'SampleHTML.htm' ; 在innerHTML之后我需要获得什么属性 或者我应该使用一些其他调用来实现它。如果您碰巧使用jQuery,它可以简单到: $('#centerPage').load('SampleHT

我希望使用以下方法来更新页面的中心窗格,而不是使用iframe

我想在以下方面得到一些帮助。 如果我想将另一个HTML页面加载到中心窗格中,那么正确的语法是什么

document.getElementById( 'centerPane' ).innerHTML.??? = 'SampleHTML.htm' ;
在innerHTML之后我需要获得什么属性


或者我应该使用一些其他调用来实现它。

如果您碰巧使用jQuery,它可以简单到:


$('#centerPage').load('SampleHTML.htm')

要做到这一点,必须使用ajax。例如:

您还可以(应该)使用jQuery来简化它,并使它更易于跨浏览器编译。在jquery中,它将只是一行代码


编辑:更新了JSFIDLE链接以使用更好的加载文件示例。

如果您没有使用jQuery或其他内置ajax方法的库:

var setHtml = function (element, url) {

    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4 && xhr.status == 200) {
            element.innerHTML = xhr.responseText;
        }
    };

    xhr.timeout = 10000;
    xhr.open('GET', url, true);
    xhr.send();
};
然后简单地调用setHtml函数,如下所示:

setHtml(document.getElementById('centerPane'), 'SampleHTML.htm');

这里需要AJAX。试试jQuery的AJAX调用。我希望他使用的是jQuery,否则他可能需要手动拼凑一个XHR对象。感谢所有的快速响应……我没有使用jQuery。我正在使用html/dojo。中心窗格中的数据通过dojox.grid.DataGrid呈现。还有什么建议吗?再次感谢…感谢所有的快速回复…我没有使用jQuery。我正在使用html/dojo。中心窗格中的数据通过dojox.grid.DataGrid呈现。我使用dojox.data.JsonRestStore获取数据,然后将其呈现给vai DataGrid。如何通过jQuery实现这一点?还有什么建议吗?再次感谢。语法有错误。它应该是
setHtml(document.getElementById('centerPane'),'SampleHTML.htm')谷歌调试器显示“未捕获的TypeError:无法将属性'innerHTML'设置为null(重复2次)。”这行后面的“error”element.innerHTML=xhr.responseText;“function updateCenter(dest){var setHtml=function(element,url){var xhr=new XMLHttpRequest();xhr.onreadystatechange=function(){if(xhr.readyState==4&&xhr.status==200){element.innerHTML=xhr.responseText;};xhr.timeout=10000;xhr.open('GET',url,true);xhr.send();};setHtml(dojo.byId('centerPane'),dest);}这是因为元素为null。请检查dojo.byId('centerPane'),并确保它返回的是一个元素而不是null。