关于Java Ajax 为什么后台有返回值,但是js接收到之后就什么都没有了?

js代码$("#userid").focusout(function(){varuserid=$("#userid").val();varmsg=document.get... js代码
$("#userid").focusout(function (){
var userid = $("#userid").val();
var msg = document.getElementById("userid_msg");
$.ajax({
url:"UserServlet?userid=" + userid,
type:"GET",
dataType:"json",
success:function(data){
alert(data);
console.log(data);
if (data != "no"){
msg.innerHTML = "存在的用户名!userid=" + data.userid;
} else {
msg.innerHTML = "用户名不存在!";
}
}
})
})

Java后台代码
数据库操作:
public User findById(String userid) throws SQLException{
ResultSet rs = null;
User vo = null;
String sql = "SELECT userid,password FROM user WHERE userid=?";
this.pstmt = this.conn.prepareStatement(sql);
this.pstmt.setString(1, userid);
rs = this.pstmt.executeQuery();
if (rs.next()){
vo = new User();
vo.setUserid(rs.getString(1));
vo.setPassword(rs.getString(2));
}
return vo;
}
}

Servlet代码:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String userid = request.getParameter("userid");
try {
User vo = new UserDB(new DBConnection().getConnection()).findById(userid);
if (vo == null) {
response.getWriter().println("no");
} else {
StringBuffer json = new StringBuffer();
json.append("{\"userid\":\"");
json.append(vo.getUserid() + "\"}");
response.getWriter().println(json.toString());
}
} catch (SQLException e) {
e.printStackTrace();
}
}
展开
 我来答
samismiling
2017-06-06 · 知道合伙人软件行家
samismiling
知道合伙人软件行家
采纳数:1340 获赞数:5603

向TA提问 私信TA
展开全部
你直接在浏览器里输入<你的项目地址>UserServlet?userid=<你的userid值>,看看有没有内容呢
更多追问追答
追问

这个我试过,有值,返回的也是“no”,我数据库里面只有123这条数据,

追答
你的截图不是跟你的代码对应的吗?
String sql = "SELECT userid,password FROM user WHERE userid=?";
this.pstmt = this.conn.prepareStatement(sql);
this.pstmt.setString(1, userid);
你传入123,得到数据,传入那一串,得到no
没问题啊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式