+ -
当前位置:首页 → 问答吧 → 请AJAX高手帮我看看这些代码有哪些问题,验证数据是否存在的问题

请AJAX高手帮我看看这些代码有哪些问题,验证数据是否存在的问题

时间:2011-02-17

来源:互联网

JScript code
                    
                                
    //声明引擎对象
    var xhr;
    //创建获得xhr对象的函数
    function createXHR(){
        if(window.ActiveXObject){
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }else{
            xhr = new XMLHttpRequest();
        }        
    }
    //判断省份FTP资源是否存在
    function proIsExist(){
        
          var proNO=document.getElementById("ftpResProNO").value;
         
        var url=basePath+"/dmc/odsupload/res/FtpRes!checkprov.action";
          alert(url);
              //发送请求进行验证,此时将请求传给ajax引擎 
              //调用创建引擎对象的函数,实现对象的创建工作
          createXHR();
          
              //利用post请求进行参数传递
              //建立服务器连接
              xhr.open("post",url,true);
              
              //设置一个请求头信息
              xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
              //明确回调函数
              xhr.onreadystatechange=processCheck;
              //发送请求,同时制定参数
              xhr.send("proNO="+proNO);     
              return true;
            
              function processCheck(){
                  
                //只有当请求处理完成才进行结果处理
                if(xhr.readystate==4){
                    //验证当前的处理时成功还是有异常,借助http状态码
                    if(xhr.status==200){
                        //接收响应的文本
                        var result=xhr.responseText;
                        
                        if(result=="1"){alert("数据库中已经存在相应的FTP资源");}else{return;}
                    } else{
                        alert("产生异常!");
                    }
                }
            
            }
    }
    
    这部分是Action里面的
    
    /**
     * 判断数据库是否存在相应的省份
     * @return
     */
    public void checkProv() {
          HttpServletResponse response = ServletActionContext.getResponse();
          HttpServletRequest request = ServletActionContext.getRequest();
          
          response.setContentType("text/xml;charset=utf-8");
          response.setHeader("Cache-Control", "no-cache");
          String proNO=request.getParameter("proNO");
          
              System.out.println(proNO);
             String msgStr = "";

          if (busi.checkPro()) {
           msgStr = "1"; 
          } else {
           msgStr = "0"; 
          }
         
          try {
           response.getWriter().print(msgStr);
           response.getWriter().close();
          }catch (IOException e) {
               e.printStackTrace();
          }
         
   }
   这部分是Busi里面的
   
   //判断数据库是否存在省份 
    public boolean checkPro() {
        //FTP资源查询的Dao
        FtpResDao dao = new FtpResDao();
        
        // DB操作对象设定
        dao.setDaoHelper(getDaoHelper());
        bo.setFtpColsList(dao.QueryFtpRes(bo.getProNO()));
        
          if(bo.getFtpColsList() == null || bo.getFtpColsList().size()==0){
           return false;
          }else{
           return true;
          }
         }
         这部分是Dao里面的
         
         /**
     * 根据省份编码查询数据库中FTP资源
     */
    public List<FtpColsPO> QueryFtpRes(String proNO) {
         return (List<FtpColsPO>) daoHelper.queryForList("FtpRes.ftpResByProNo",proNO);
         }
         
         这部分是XML文件的
         
         <!-- 根据省份FTP资源 -->
    <select id="ftpResByProNo" resultClass="com.bonc.dss.po.dmc.odsupload.res.FtpResPO" parameterClass="com.bonc.dss.bo.dmc.odsupload.res.FtpResBO">            
        select
             * 
        from 
            DMC_INFO_PROV_FTP_RES 
        where 
            AREA_NO=#proNO#
        </select>
        


看看哪里出问题了,谢谢大家

作者: qepshujuku2010   发布时间: 2011-02-17

在JSP页面,选择省份是在一个下拉列表中,当选择已存在的某省份时,会弹出提示信息,如果选择的省份,不存在,可以成功添加

作者: qepshujuku2010   发布时间: 2011-02-17