zoukankan      html  css  js  c++  java
  • ajax

    ajax的基本原理:Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。这其中最关键的一步就是从服务器获得请求数据。要清楚这个过程和原理,我们必须对 XMLHttpRequest有所了解。 XMLHttpRequest是ajax的核心机制,它是在IE5中首先引入的,是一种支持异步请求的技术。简单的说,也就是javascript可以及时向服务器提出请求和处理响应,而不阻塞用户。达到无刷新的效果。

    表单的验证:

    //Ajx实现异步示例,blur实现失去焦点触发
     jQuery('#<portlet:namespace/>formname').blur(<portlet:namespace/>check);
     function <portlet:namespace/>check(){
      alert("开始执行Ajax");
         //判断用户是否存在
      var formname = jQuery("#<portlet:namespace/>formname").val();
      if(formname==""){
          jQuery('#<portlet:namespace/>msgName').html('表单名称不能为空');
          jQuery('#<portlet:namespace/>msgName').css("color","red");
          jQuery('#<portlet:namespace/>msgName').css("font-size","2em");
          //通过id使save按钮disabled
          jQuery('#<portlet:namespace/>save').attr("disabled","disabled");
       }else{
      //alert("formName======"+formname);
      //执行action类
      var urlimp = '<portlet:renderURL windowState="<%= LiferayWindowState.EXCLUSIVE.toString() %>"><portlet:param name="struts_action" value="/ext/forms/ajax" /></portlet:renderURL>';
      jQuery.ajax({
         type: "POST",
         url: urlimp,
         data: "cmd=check&formname="+formname,
         success: function(msg){
          alert( "Data Saved: " + msg );
          if(msg=='exist'){
           //已存在(控制css)
           jQuery('#<portlet:namespace/>save').attr("disabled","disabled");
           alert("disable");
           jQuery('#<portlet:namespace/>msgName').html('该表单名已存在');
           alert("disable1");
           jQuery('#<portlet:namespace/>msgName').css("color","red");
           jQuery('#<portlet:namespace/>msgName').css("font-size","2em");
           //保存按钮不可用
         //  jQuery('#<portlet:namespace/>save').attr("disabled","disabled");
          }
          if(msg=='unexist'){
        //通过     
           jQuery('#<portlet:namespace/>msgName').html('该表单名可用');
           jQuery('#<portlet:namespace/>msgName').css("color","green");
           jQuery('#<portlet:namespace/>msgName').css("font-size","2em");
           //保存按钮可用
           jQuery('#<portlet:namespace/>save').removeAttr("disabled");
          } 
         }
      });
       } 
      //alert("haha执行到此了");
     }

     
     
    Action类:
     
    package com.ext.portlet.song.action;
    import java.io.PrintWriter;
    import java.util.List;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import com.ext.portlet.song.model.FormNameBean80425986;
    import com.ext.portlet.song.service.FormNameBean80425986LocalServiceUtil;
    import com.liferay.portal.struts.AJAXAction;
    public class AjaxAction extends AJAXAction {

     @Override
     public ActionForward execute(ActionMapping mapping, ActionForm arg1,
       HttpServletRequest requst, HttpServletResponse response) throws Exception {
      // TODO Auto-generated method stub
      System.out.println("AjaxxAction.execute()");
      String formname = requst.getParameter("formname");
      System.out.println("formName++++++++++++"+formname);
      response.setContentType("text/html;charset=utf-8");
      
      PrintWriter out = response.getWriter();
      //通过表单名查找
      List list=FormNameBean80425986LocalServiceUtil.findByformname(formname);
      
      if(list==null||list.isEmpty())
      {
       
       out.print("unexist");
       return null;
       
      }else{
       FormNameBean80425986 formbean=(FormNameBean80425986) list.get(0);
       out.print("exist");
      }
      System.out.println("list"+list.size());
      
      
      
      
      //得到list的第一个值
      
      //System.out.println("formbean"+formbean.getFormname()+"_________________________");
      //FormNameBean80425986 formbean =  FormNameBean80425986LocalServiceUtil.findByformname(formname); 
       out.flush();
      out.close();
      return null;
      //return super.execute(arg0, arg1, arg2, arg3);
     }
     @Override
     public String getText(ActionMapping arg0, ActionForm arg1,
       HttpServletRequest arg2, HttpServletResponse arg3) throws Exception {
      // TODO Auto-generated method stub
      return null;
     }
    }
  • 相关阅读:
    判断DataSet为空
    msxml3.dll 错误 '800c0008'
    google Map api地理位置坐标转换
    C# .net中cookie值为中文时的乱码解决方法
    windows pear 安装
    smarty2 设置、变量、函数
    简单模板类
    mysql 1366 插入错误
    Oracle修改账户口令
    C# Winform验证码
  • 原文地址:https://www.cnblogs.com/a892647300/p/2970735.html
Copyright © 2011-2022 走看看