怎样通过Ajax访问mySql?用上jQuery也可以!
这里做的是一个修改密码的东东
password是原先的密码,就是想判断输入的password是否和旧密码一致
我是想通过Ajax检测password是否和该用户密码一致怎样通过Ajax访问mySql数据库呢?<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><html><script language="javascript">
//用script在提交之前判断密码的正确性
function isValid()
{
if (((document.theform.newPwd.value.length<3)||(document.theform.newPwd.value.length>8))&&(document.theform.newPwd.value!=""))
{
alert("密码必须是3-8位的字母或数字!");
return false;
}
else if (document.theform.newPwd.value!=document.theform.newPwd2.value)
{
alert("两次输入的密码不同!");
return false;
}
else if (document.theform.newPwd.value=="")
{
alert("用户密码不能为空!");
return false;
}
else return true;
}
</script>
<body><%//防止没有登陆就进入登陆后的页面
if(session.getAttribute("name")==null){
%>
<jsp:forward page="index.jsp" />
<%
} %>
<h2>Welcome to Reset password!!</h2>You are
<%=session.getAttribute("name")%>
<br><form action="servlet/resetInfo" method="post" name="theform" onSubmit="return isValid();"><table><tr><td>password</td><td><input type="text" name="pwd"></td></tr>
<tr><td>new password</td><td><input type="text" name="newPwd"></td></tr>
<tr><td>Confirm password</td><td><input type="text" name="newPwd2"></td></tr><tr><td><input type="submit" value=SUBMIT ></td></tr></table></form><%--
http://localhost:8080/J5/index.jsp
--%></body>
</html>
这里做的是一个修改密码的东东
password是原先的密码,就是想判断输入的password是否和旧密码一致
我是想通过Ajax检测password是否和该用户密码一致怎样通过Ajax访问mySql数据库呢?<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><html><script language="javascript">
//用script在提交之前判断密码的正确性
function isValid()
{
if (((document.theform.newPwd.value.length<3)||(document.theform.newPwd.value.length>8))&&(document.theform.newPwd.value!=""))
{
alert("密码必须是3-8位的字母或数字!");
return false;
}
else if (document.theform.newPwd.value!=document.theform.newPwd2.value)
{
alert("两次输入的密码不同!");
return false;
}
else if (document.theform.newPwd.value=="")
{
alert("用户密码不能为空!");
return false;
}
else return true;
}
</script>
<body><%//防止没有登陆就进入登陆后的页面
if(session.getAttribute("name")==null){
%>
<jsp:forward page="index.jsp" />
<%
} %>
<h2>Welcome to Reset password!!</h2>You are
<%=session.getAttribute("name")%>
<br><form action="servlet/resetInfo" method="post" name="theform" onSubmit="return isValid();"><table><tr><td>password</td><td><input type="text" name="pwd"></td></tr>
<tr><td>new password</td><td><input type="text" name="newPwd"></td></tr>
<tr><td>Confirm password</td><td><input type="text" name="newPwd2"></td></tr><tr><td><input type="submit" value=SUBMIT ></td></tr></table></form><%--
http://localhost:8080/J5/index.jsp
--%></body>
</html>
楼主可以去我的资源里看看,有个 AJAX 版的 jsp 下拉条级联源代码,注释的很详细。
原理都是一样的,参考下。
<table>
<tr>
<td>Name</td>
<td><input type="text" name="name" onBlur="validate()" id="userid"/></td>
<td><span style="font-size: 12px;font-weight: bold" id="usermsg"></span></td>
</tr><tr>
<td>password</td>
<td><input type="text" name="pwd" ></td>
</tr><tr>
<td><td><input type="submit" value="SUBMIT"/></td>
</tr></table>
</form>
<script>
var req;
function validate() {
var idField = document.getElementById("userid");
var url = "AjaxReg.jsp?id=" + escape(idField.value);
if(window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.open("GET", url, true);
req.onreadystatechange = callback;
req.send(null);
}
function callback() {
if(req.readyState == 4) {
if(req.status == 200) {
//alert(req.responseText);
var msg = req.responseXML.getElementsByTagName("msg")[0];
//alert(msg);
setMsg(msg.childNodes[0].nodeValue);
}
}
}
function setMsg(msg) {
//alert(msg);
mdiv = document.getElementById("usermsg");//userMsg是信息提示
if(msg == "no") {
mdiv.innerHTML = "";
}if(msg=="yes"){
mdiv.innerHTML = "<font>用户名重复</font>";
}
}
</script> </body>
</html>
AjaxJsp.jsp=============<%@ page language="java" import="java.util.*,model.*" pageEncoding="utf-8"%><html>
<body>
<%
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-store"); //HTTP1.1
response.setHeader("Pragma", "no-cache"); //HTTP1.0
response.setDateHeader("Expires", 0); //prevents catching at proxy server
String id=request.getParameter("id");
System.out.print("name : "+id+"\n");//id = java.net.URLDecoder.decode(id,"UTF-8");
Dao dao=new Dao();//new你的users查询完了返回就OK了
Info info=dao.getName(id);//id就是Name
String name=info.getName();
if(name==null){
out.write("<msg>no</msg>");
}
else {
out.write("<msg>yes</msg>");
}
//check the database%>
</body>
</html>