将HTML页面加载到DIV不能始终如一地工作

时间:2015-09-03 00:57:53

标签: javascript jquery html

我的代码被附身,或者我很可能是一个如此明显的东西,我看不到它。

这里的问题是第一个链接不会加载外部HTML,但第二个链接会加载。奇怪的是,当我在本地运行代码时,两个链接都工作正常,但是当我把它放在网上时,只有第二个链接工作,但是,在两个实例中,console.log输出是相同的,所以我知道正在调用函数,传递了正确的值,并且if语句正在正确评估。

此外,我更改了两个链接以加载相同的HTML文件,只是为了确保加载的HTML页面没有奇怪的东西。

代码:

 public void someMethod(String arg) {
    try {
        doSomething(arg);
    } catch (IOException | SQLException | BeanNotFoundException ex) {
        logger.log(ex);
        throw new RuntimeException(ex);
    }
}

pageTwo.html:

<!DOCTYPE HTML>
<HTML>
<HEAD>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="initial-scale=0;">

</HEAD>
<BODY>
    <script type="text/javascript" src="jquery-1.11.3.min.js"></script>
    <script type="text/javascript" src="jquery.mobile-1.4.5.min.js"></script>
    <script>
        function loadPage(e) {      
            if (e == 1) {
                console.log(e);
                $('.contentDiv').load('pageTwo.html'); 
            }
            else {
                $('.contentDiv').load('pageTwo.html');  
            }
        };
    </script>
    <p> Start Page </p>
    <p>
        <a href="Page1" onclick="loadPage(1)" style="text-decoration:none">Page 1</a>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <a href="Page2" onclick="loadPage(2)" style="text-`enter code here`decoration:none">Page 2</a>
    <div class="contentDiv">
        <p>Content Goes Here</p>
    </div>
</BODY>
</HTML>

那么我错过了什么?

1 个答案:

答案 0 :(得分:0)

href="page1不会工作。

它应该是href="javascript: void(0)"(防止重定向)或类似的东西,这将阻止页面重定向(event.preventDefault()将事件对象传递给loadPage(1,event))。

<a href="javascript: void(0);" onclick="loadPage(2)" style="text-`enter code here`decoration:none">Page 2</a>

,或者

<a href="Page1" onclick="loadPage(1, event)" style="text-decoration:none">Page 1</a>

function loadPage(e, event ) {

    event.preventDefault();

    if (e == 1) {
        $('.contentDiv').load('pageTwo.html');
    } else {
        $('.contentDiv').load('pageTwo.html');
    }
};