comment traiter de l'ajax de jquery avec jsp pour la base de données mise à jour?
J'ai utilisé ajax avec jquery et mon url ajax est l'appel d'une autre page jsp qui envoie les données du formulaire de base de données, le problème est quand je suis à l'exécution de la requête d'insertion, sa réponse "les valeurs Null ne peut pas être inséré à la base de données" un peu exception, mais chaque fois que je suis rechargement de la même page et en cliquant sur le bouton soumettre, de sa soumission à la base de données.
Je pense que le problème est avec quelque chose comme la publication de la méthode,
Je suis nouveau à l'ajax, donc s'il vous plaît besoin de votre aide...
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#save').click(function ()
{
$.ajax({
type: "post",
url: "test.jsp", //this is my servlet
data: "input=" +$('#id').val()+"&output="+$('#op').val(),
success: function(msg){
$('#output').append(msg);
}
});
});
});
</script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
input:<input id="id" type="text" name="" value="" /><br></br>
output:<input id="op" type="text" name="" value="" /><br></br>
<input type="button" value="save" name="save" id="save"/>
<div id="output"></div>
</body>
JSP:
<%@page import ="com.connectionUtil.ConnectionUtil"%>
<!DOCTYPE html>
<script src="js/jquery.min.js" type="text/javascript"></script>
<% String id = request.getParameter("input");
try {
Connection con = ConnectionUtil.getConnection();
String sql = "insert into test(ID,...) values ('" + id + "',...)";
PreparedStatement ps = con.prepareStatement(sql);
ps.executeUpdate();
} catch (SQLException sqe) {
out.println(sqe);
}%>
<body> <h4><%=id%> is stored </h4> </body> </html>
- Où est l'élément avec
id='call'
? - désolé pour l'erreur, j'ai modifié..
- Vérifiez la console pour cet appel ajax et de sa réponse. Il vous donnera plus d'idée sur ce problème
Vous devez vous connecter pour publier un commentaire.
Votre code ajax qui est faux. Il devrait ressembler à ceci:
Et ensuite utiliser le
request.getParameter("input")
pour obtenir la valeur du paramètreMise à JOUR : Veuillez noter que j'ai manqué une virgule (,) à la fin de la ligne de données:....
Mise à JOUR 2 : Ce travail est une démonstration de votre code sans les connexions db...
index.jsp:
test.jsp :
Le premier écran affiche ceci:
Et après l'insertion des données et en appuyant sur
save
bouton, il affiche ceci:Désolé, je ne serais pas ce post comme une réponse, mais je dois le faire parce que je n'ai pas le privilège dans mon compte pour poster un commentaire, mais j'ai aussi sûr de votre confondre ce que pour être sur. Le
#call
se réfère à laelement
div
pas le bouton, mais cela marchera. Pouvez-vous s'il vous plaît poster votretest.jsp
afin que nous puissions voir le code parce que je soupçonne que la cause de ce problème.Je pense que vous aviez modifié votre question, je pense donc que ma réponse est un gaspillage.
code
<%@page import ="com.connectionUtil.ConnectionUtil"%> <!DOCTYPE html> <script src="js/jquery.min.js" type="text/javascript"></script> <% String id=request.getParameter("input"); ... try{ Connection con=ConnectionUtil.getConnection(); String sql="insert into test(ID,...) values ('"+id+"',...)"; PreparedStatement ps=con.prepareStatement(sql); ps.executeUpdate(); }catch(SQLException sqe){ out.println(sqe); } %> <html> <body> <h4><%=id%> est stocké </h4> </body> </html>