Вы смешиваете
response.getWriter().print("ok"); //this will not send your value to ajax
с:
response.getWriter().write("inserted new user"); //this will
Ваш сервлет:
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
HttpSession session = request.getSession();
response.setContentType("text/plain"); // Set content type of the response so that jQuery knows what it can expect.
response.setCharacterEncoding("UTF-8"); // You want world domination, huh?
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/amazon?user=root&password=test123");
PreparedStatement statement = con.prepareStatement("select * from sellers where email=?");
statement.setString(1, request.getParameter("email"));
ResultSet rs = statement.executeQuery();
if(rs.next()) {
//if the email exists in sellers, then this will always evaluate to true...
//response.getWriter().print("not"); //print will not send your value back to ajax..
response.getWriter().write("email exists"); // Write response body.
} else {
PreparedStatement statement1 = con.prepareStatement("insert into sellers(email,password,name) values(?,?,?)");
statement1.setString(1, request.getParameter("email"));
statement1.setString(2, request.getParameter("password"));
statement1.setString(3, request.getParameter("name"));
statement1.executeUpdate();
session.setAttribute("sessionAdminEmail", request.getParameter("email"));
session.setAttribute("sessionAdminName", request.getParameter("name"));
//response.getWriter().print("ok"); print will not send your value back to ajax
response.getWriter().write("inserted new user"); // Write response body.
}
} catch (Exception e) {
}
}
Также стоит отметить, что ==
- это не то же самоекак ===
.Используйте ===
в этом случае, это оператор сравнения, который вы ищете.Проверьте this для объяснения разницы
<script type="text/javascript">
function signupfunction(){
var name = document.getElementById('signupname').value;
var email = document.getElementById('signupemail').value;
var password = document.getElementById('signuppassword').value;
$.ajax({
url : "AdminSignup?name=" + name + "&email=" + email +
"&password=" + password + "",
type : "GET",
async : true,
success : function(data) {
if(data === 'email exists'){
alert("Email already exists");
}
if(data === 'inserted new user'){
alert('new user');
}
}
});
}
</script>
Проверьте также этот ответ, он дает отличное объяснение того, как использовать Ajax с сервлетами.(гораздо проще, чем в настоящее время)
Как использовать сервлеты и Ajax?