我正在尝试通过JSP学习AJAX,并且编写了以下代码。这似乎不起作用。请帮助:
这是我的configuration_page.jsp
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> <script type="text/javascript"> function loadXMLDoc() { var xmlhttp; var config=document.getElementById('configselect').value; var url="get_configuration.jsp"; if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET", url, true); xmlhttp.send(); } </script> </head> <body> <h2 align="center">Saved Configurations</h2> Choose a configuration to run: <select name="configselect" width="10"> <option selected value="select">select</option> <option value="Config1">config1</option> <option value="Config2">config2</option> <option value="Config3">config3</option> </select> <button type="button" onclick='loadXMLDoc()'> Submit </button> <div id="myDiv"> <h4>Get data here</h4> </div> </body> </html>
这是我的get_configuration.jsp,我正在尝试从上面的AJAX代码访问:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h4>Mee..</h4> </body> </html>
您在“ configuration_page.jsp”文件中做错了。在此文件中,函数loadXMLDoc()的第2行应如下所示:
var config=document.getElementsByName('configselect').value;
因为您仅name在<select>标记中声明了属性。因此,您应该按名称获取此元素。
name
<select>
更正此错误后,它将运行无任何JavaScript错误