Java ajax passer les valeurs du servlet jsp pour
Je suis en train de passer des valeurs fondamentales telles que l'id de jsp à la servlet via ajax. J'ai tout essayé, mais seulement la valeur null est passé. Même console.log(val)
ne pas imprimer quoi que ce soit pour le navigateur de la console.
Ma compréhension est: page Web a les valeurs d'un formulaire qui onsubmit appels de fichier js. js a ajax qui appelle à la servlet et transmet les données du formulaire. La servlet saisit des données de l'ajax par request.getParameter(val)
Voici mon code:
Principal.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript">
<script src="js/main.js" type="text/javascript"></script>
</head>
<body>
<form method="post" action="Main" id="firstform">
<h1>Enter name:</h1>
<input type="text" name="id" id="id" />
<input type="submit" name="submit"/>
</form>
</body>
</html>
main.js
var form = $('#firstform');
console.log("gi");
form.submit(function()
{
$.ajax({
url: 'Main',
data: form.serialize(),
type: 'post',
success: function(data){
console.log(data);
}
});
//return false;
});
Main.java
package servlets;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Main
*/
@WebServlet("/Main")
public class Main extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Main() {
super();
//TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//TODO Auto-generated method stub
int ids;
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String val = request.getParameter("id");
System.out.print(val);
if(val != null){
ids = Integer.parseInt(val);
out.print(ids); //
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//TODO Auto-generated method stub
}
}
**Problèmes:
1)les valeurs transmises de jsp à servlet
2)de la console.journal de ne rien imprimer sur le navigateur internet de la console
1) les œuvres, mais 2) ne marche pas encore.**
modifier <input type="text" id="id" /> <input type="text" id="id" name="id" />
essayé @www.sblog.in mais encore n'a pas fonctionné
essayez de vous connecter à l'intérieur de la forme.submit() et voir quelle est la valeur que vous obtenez. vérifiez également que la forme.serialize()
avez-u obtenir votre réponse?
OriginalL'auteur fscore | 2014-05-06
Vous devez vous connecter pour publier un commentaire.
dans main.js le type est
type: 'post'
et vous avez écrit le code dans la méthode getne
type:'get'
+1 pour le pointage de type post en ajax
Donc du type " get " et pas de post... il a travaillé ensuite 🙂 merci
J'ai accepté votre réponse même si.. console.le journal ne marche pas encore de travail
OriginalL'auteur Sanjay Rabari
il n'y a pas de nom d'attribut dans votre champ de saisie. quand vous faites
puis dans le servlet puis il va rechercher le champ de saisie ayant
name="id"
mais dans votre formulaire, il n'y a rien de sorte qu'il sera de retournull
;donner le nom du champ de saisie comme
aussi comme sanjay a dit ton ajax a type de poste afin de le modifier pour
get
ainsiessayez d'abord par l'envoi du formulaire sans utiliser ajax et laissez-moi savoir si vous avez des valeurs ou pas
console.le journal ne marche pas encore de travail
vous voulez dire cette ligne de la console.log("gi");
oui, il n'imprime pas. en effet, même si je ne la console.log(id) il ne marche pas l'impression que trop
OriginalL'auteur SpringLearner
Juste pour le de la console.log(data) problème, peut-être $.ajax() fonction se confondre avec le type de réponse, essayez ceci:
Ajax
Servlet
OriginalL'auteur Fares M.