.Quiero insertar datos en la base de datos mientras escribo valores en el cuadro de texto ... Mi codificación ajax no funciona ... Incluso yo no recibí ningún error ...
Ayúdame pronto
mi codificación ajax es:
var userid = "#uid";
var datas = "uid=" + $(userid).val();
$(document).ready(function() {
$("#uid").on("keyup", function() {
$ajax({
type: "GET",
contentType: "text/plain; charset=utf-8",
url: "insert.jsp", //insert.jsp
dataType: "text",
data: datas, //data to be sent as a parameter cname=babu&mobileno=9877&boxno=
success: function(result) {
alert(result);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Error: " + textStatus + " HttpStatus: " + XMLHttpRequest.status + " " + errorThrown + "n");
}
});
});
});
Mi código jsp para insertar un registro es:
<%
String uid=request.getParameter("uid");
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","testing");
Statement st=con.createStatement();
int i=st.executeUpdate("insert into insert1(usrid) values(""+uid+"")");
if(i>0){
%>Inserted Successfully.... If you want to insert another value means then click here<a href="index.jsp">Insert</a>
<p>Other Wise<a href="listuser.jsp">List User</a>
<%}else{%>
The information you are entered is wrong<a href="index.jsp">Retry</a>
<%}%>
Respuestas
1 para la respuesta № 1Utilice el objeto de datos para enviar un parámetro en lugar de una cadena, que es un enfoque limpio y para una mejor legibilidad. Y obtén el valor de la entrada dentro keyup
función.
Prueba esto
$(document).ready(function(){
$("#uid").on("keyup",function(){
var val = this.value; //get the input value here.
$.ajax({
type: "GET",
url: "insert.jsp",//insert.jsp
data:{uid : val}, //use data object to send as parameters rather than string.
success: function (result) {
alert(result);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Error: "+textStatus +" HttpStatus: "+XMLHttpRequest.status+" "+errorThrown+"n");
}
});
});
});
2 para la respuesta № 2
Mueva la declaración dentro del keyup
controlador de eventos. Esto obtendrá el valor escrito en el textbox
y se enviará al servidor por ajax
.
$("#uid").on("keyup", function() {
var datas = "uid=" + $(userid).val(); // Move inside event handler
También puedes usar $(this)
para obtener el valor:
var datas = "uid=" + $(this).val();