自onload()

时间:2015-05-28 15:27:06

标签: javascript jsp onload

我使用jsp来渲染一些数据并使用以下代码进行测试:

<html>
    <head>
           <title>D3 Demo</title>
    </head>

    <script language="javascript">

    function access(){
        alert("entered");
        var outputjson = "<%=responseJson%>";
        alert(outputjson);
    }
    </script>

    <body onload = "access()">         
           <h1>This is a Heading</h1>
           <p><%=responseJson%></p>
    </body>




</html>

在浏览器中,我可以告诉body包含<h1><p>内容This is a HeadingJava变量responseJson 。但我没有弹出任何警报。似乎永远不会调用access函数。但是在body中,我确实称之为当页面加载时,它会弹出2个警报。

这里有什么问题?

1 个答案:

答案 0 :(得分:0)

我只是发现了问题。

由于responseJson中的Java返回JSON字符串包含"",因此outputjson变量实际上存在语法错误,导致access() 1}}方法没有编译。这就是为什么在onload中,浏览器无法找到名为access的方法。

通过制作这样的版本(使用单引号):

var outputjson = '<%=responseJson%>';

效果很好。 FYI