gpt4 book ai didi

javascript - 如何使用 Ajax 连接数据库 (jsp) 检查输入验证

转载 作者:行者123 更新时间:2023-11-28 10:06:08 24 4
gpt4 key购买 nike

该代码用于检查用户输入的大学是否已存在于数据库中。如果是,则提交输入并进入下一页;如果没有,则向用户发送一条警报消息并停留在同一页面上,即 Choose_university.jsp。 checkUniversity.jsp 用于连接数据库并进行检查。但代码并没有这样做。我花了几个小时研究它,但仍然无法弄清楚。谁能告诉我它出了什么问题并告诉我如何修复它?明天就到期了。请帮我。

choose_university.jsp 如下:

<%@page import="java.util.*"%>

<html>
<head><title>Provide degrees - choose university</title>
<script type="text/javascript">

function validate() {

var xmlHttp;
xmlHttp = new XMLHttpRequest();
if (xmlHttp == null) {
alert("Your browser does not support AJAX!");
return;
}
var u = document.getElementById("university").value;
var url = "checkUniversity.jsp";
url = url + "?university=" + u;
xmlHttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 ) {
document.getElementById("university").innerHTML = xmlhttp.responseText;
}
}
alert("yea we got 55555");
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}



function GetXmlHttpObject() {
var xmlHttp = null;
try {
// Firefox, Opera 8.0+, Safari

xmlHttp = new XMLHttpRequest();
} catch (e) {
// Internet Explorer
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHtp;
}
</script>
</head>
<body>
<br> If you can't find your university, please provide it in the following and hit submit <br>
<form method="post" action="Provide_degrees_Choose_discipline.jsp" onsubmit = "return validate()">
<p>To manually add your university </p> <br>
<p> name of university: <input type = "text" id="university" name = "university" /> </p><br>
<input type="submit" name = "submit" value="submit" />
</form>
</body>
</html>



/* checkUniversity.jsp */
<% response.setContentType("text/xml") ; %>

<%@ page import="javax.sql.*"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ page import="model.ApplicationModel" %>
<html>
<head><title>check university</title>
</head>
<body>
<%
System.out.println("heyheyhey");

String u = request.getParameter("university") ;
Class.forName("org.postgresql.Driver");
// Open a connection to the database using DriverManager
conn = DriverManager.getConnection(
"jdbc:postgresql://localhost:5432/access?" +
"user=postgres&password=neshorange");
// Create the statement
Statement statement = conn.createStatement();
// Use the created statement to SELECT
// the student attributes FROM the Student table.

rs = statement.executeQuery("SELECT count(*) as c FROM universities WHERE university=\'"+ u +"\';");
if (rs.next()){
if ( rs.getInt("c") > 0) {
response.write("false");
} else {
response.write("true");
}
}
response.write("true");
%>
</body>
</html>

最佳答案

尝试去掉 onSubmit 中的“返回”,然后重试。还要安装 firebug 或其他检查器(如果尚未安装),以便您可以看到 javascript 和请求错误。

现在也没有必要像这样经历所有 ajax 的事情了。查看 jQuery 或 Mootools 等 javascript 库。他们可以把你的js代码变成只有几行。

关于javascript - 如何使用 Ajax 连接数据库 (jsp) 检查输入验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8351969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com