t1441332354 2018-06-29 13:36 采纳率: 71.8%
浏览 860
已采纳

关于ajax后台传值的一些问题

这是前端用ajax向后台传值的部分代码

 <script type="text/javascript">
    function checkselect(){
        $.ajax({
        async:false,
        cache:false,
        type:'post',
        url:'ChangeServlet',
        data:{username:Username,password:Password,changepass:ChangePass},
        success:function(data){
            if(data == 1){
                alert("密码修改成功!");
            }else if(data == 0){
                alert("账号与原密码不匹配,请重新输入!");
            }
        },
            error : function() {
                alert("网络故障!");
            }   
        });
    }
</script>

后台实现功能代码如下

            String sql = "select * from LoginUser where UserName = '"+username+"' and LoginPwd = '"+pasword+"'";
            PreparedStatement ps = conn.prepareStatement(sql);
            ResultSet rs = ps.executeQuery();
            if(rs.next()){
                String isExit = "update LoginUser set LoginPwd = ? where UserName = '"+username+"'";
                PreparedStatement ps2 = conn.prepareStatement(isExit);
                ps2.setString(1,changepass);
                ps2.executeUpdate();
                ps2.close();
                conn.close();

            }else{

            }
            rs.close();
            ps.close();
            conn.close();

后台是servlet,在“conn.close()”之后判定data=1,在else里面判定data=0,并将它们的值传回前台应该怎么写?

  • 写回答

3条回答 默认 最新

  • 疾风雷颖 2018-06-30 00:43
    关注

    我认为可以做以下调整:

    PrintWriter out = response.getWriter();

                        String sql = "select * from LoginUser where UserName = '"+username+"' and LoginPwd = '"+pasword+"'";
            PreparedStatement ps = conn.prepareStatement(sql);
            ResultSet rs = ps.executeQuery();
            if(rs.next()){
                String isExit = "update LoginUser set LoginPwd = ? where UserName = '"+username+"'";
                PreparedStatement ps2 = conn.prepareStatement(isExit);
                ps2.setString(1,changepass);
                ps2.executeUpdate();
                ps2.close();
                conn.close();
    

    out.println(“1”);

            }else{
    

    out.println(“0”);

            }
            rs.close();
            ps.close();
            conn.close();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
  • ¥15 win10,这种情况怎么办
  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
  • ¥100 在连接内网VPN时,如何同时保持互联网连接
  • ¥15 MATLAB中使用parfor,矩阵Removal的有效索引在parfor循环中受限制
  • ¥20 Win 10 LTSC 1809版本如何无损提升到20H1版本
  • ¥50 win10 LTSC 虚拟键盘不弹出
  • ¥30 微信小程序请求失败,网页能正常带锁访问
  • ¥15 Matlab求解微分方程,如何用fish2d进行预优?
  • ¥50 CrossLink-LIF-MD6000 型 FPGA 的 CMOS 转 MIPI D-PHY IP 核功能使用异常