ajax接收不到servlet返回,我无法比较来自servlet的ajax请求返回的字符串

你正在混淆

response.getWriter().print("ok"); //this will not send your value to ajax

使用:

response.getWriter().write("inserted new user"); //this will

您的Servlet:

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以获取有关差异的说明

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');

}

}

});

}

同时查看这个答案,它给出了如何将Ajax与Servlet一起使用的一个很好的解释。 (比你目前正在做的方式容易得多)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值