为什么请求返回的总是false
handler : function() {
var captcha=Ext.getCmp('captcha').getValue();
Ext.Ajax.request({
url:"pages/check.jsp?captcha="+captcha,
success : function() {
form.getForm().submit({
waitTitle : '请稍候',
waitMsg:'正在提交表单数据,请稍候...',
success : function() { },
failure : function() {
alert('failure');
}
});
},
failure : function() {
Ext.Msg.alert('系统提示','你输入的验证吗不对!');
Ext.getDom('code').src="./pages/captcha.jsp?d="+ new Date();
}
})

}这是页面请求处理的代码
<%
   String vcord=(String)session.getAttribute("vcode");
   System.out.println("vcode:"+vcord);
   String captcha=request.getParameter("captcha");
   System.out.println("captcha:"+captcha);
   if(vcord.equals(captcha)){
   response.getWriter().write("{success:true}");
   System.out.println("true");
  
   }else{
   response.getWriter().write("{success:false}");
   System.out.println("false");
   }
   response.sendRedirect("/pages/login.jsp");
   %>

解决方案 »

  1.   

    为什么有这一句response.sendRedirect("/pages/login.jsp");另外  说的详细点
      

  2.   

    Ext.Ajax.request({
    url:"pages/check.jsp?captcha="+captcha,
    params : {
               captcha :Ext.getCmp('captcha').getValue() }
    });
    这样传参数试试。如果还是false,那就是 String vcord=(String)session.getAttribute("vcode");
    这有问题了,可能session中没有叫vcode的。
      

  3.   

    Ext.Ajax.request({
    url:"pages/check.jsp?",
    params : {
      captcha :Ext.getCmp('captcha').getValue() }
    });
    这样传参数试试。如果还是false,那就是 String vcord=(String)session.getAttribute("vcode");
    这有问题了,可能session中没有叫vcode的。
      

  4.   

    Ext.Ajax.request({
    url:"pages/check.jsp",
    params : {
      captcha :Ext.getCmp('captcha').getValue() }
    });
    这样传参数试试。如果还是false,那就是 String vcord=(String)session.getAttribute("vcode");
    这有问题了,可能session中没有叫vcode的。
    其实不需要String captcha=request.getParameter("captcha");
    只要有属性名叫captcha的就可以,并且有get()set()方法就能接收到这个变量。
    不好意思,前面两个url粘错了,这个是正确的。呵呵