1. 程式人生 > >頁面ajax非同步請求

頁面ajax非同步請求

使用JQuery進行普通ajax非同步請求後臺的參考小例子

//驗證年度是否在資料庫中已經存在

//頁面部分JS y為年度的值 spanId 為頁面提示資訊的Id

    //ajax驗證年度是否已經存在
      
       function ajax_request(y,spanId){
                 
            $.ajax({
                type: "POST",
                url: "<%=webapp%>/admin/admin_checkYYYYRepeat.action",
                data: "yyyy="+y,
                async:false,//同步請求
                success: function(msg){
                     //alert("---- AJAX返回訊息:" + msg);
                     if(msg == "0"){
                         addWarnInfo(spanId,'*');
                         document.getElementById("yyyyIsExist").value = false;                         
                     }else{
                         addWarnInfo(spanId,'*該年度已經存在,不能再新增!');  
                         document.getElementById("yyyyIsExist").value = true;                  
                     }              
                },
                error: function(msg){
                     alert("傳送失敗,請重新發送!");
                     return false;
                }
             });    
       }  
後臺部分程式碼
//action部分
/**
     * 功能:校驗年度是否已經存在 *
     * @author lixinyao
     * @version 1.0
     * @param yyyy
     * @return 0 表示不存在 1 表示已經存在
     */
    public void checkYYYYRepeat() {// Action方法切忌有引數否則無法呼叫
       int count = adminService.yyyyIsExist(yyyy);
       System.out.println("count:"+count);
 
       HttpServletResponse response =response();
       PrintWriter out = null;
       try {
           out = response.getWriter();
           // writer引數最好轉成String,否則在頁面上可能出現異常情況
           out.write(count+"");
       } catch (IOException e) {
           e.printStackTrace();
       } finally {
           out.flush();
           out.close();
       }
    }

//注意 要獲得由前端JS傳來的值 action 必須 宣告變數 yyyy 並提供set get方法
//實現類部分
/**
	 * 判斷年度是否已經存在
	 * @return
	 */
	public int yyyyIsExist(String yyyy){
		   StringBuffer sb = new StringBuffer();   
		   sb.append(" select count(t.id)  from t_object_job t where t.yyyy=? ");		  
		   List list = null;
		   List params = new ArrayList();
		   params.add(yyyy);
		   try{			   
			   list = hibernateDao.queryBySqlWithParams(sb.toString(), params.toArray());
		   }catch(Exception e){e.printStackTrace();}
		   if(list != null){
			   return Integer.valueOf(list.get(0).toString());		   
		   }else{
			   return 0;
		   }		 
	}