Ajax (部分一)本身作的,总结页面向后台传Form值、单个值和后台向前台传一个或是一组值

1、前期页面准备:
一、添加struts框架,添加Action在struts-config.xml文件中配置好
二、在action中添加方法如:javascript

(向页面传一组值)java

public void testAjax(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws IOException {
  response.setContentType("application/json;charset=gb2312");
  PrintWriter out = response.getWriter();
  String username=request.getParameter("username");
  String password=request.getParameter("password");
  //声明对象,向前台传值相似于map,前台经过:
  //var myobj=transport.responseText.evalJSON(true);
  //var isTrue=myobj.isTrue(键的名字);
  // 的到传过的值
  JSONObject jsonObject=new JSONObject();
  
  jsonObject.put("isTrue",false);
  if(username=="aa"||password=="aa"){
   jsonObject.put("isTrue",true);
   out.print(jsonObject.toString());
   out.flush();
   out.close();
   return;
  }else{
   jsonObject.put("isTrue",false);
   out.print(jsonObject.toString());
   out.flush();
   out.close();
   return;
  }
 }

 

(向页面传单个值)ajax

public void testAjax(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws IOException {
  response.setContentType("application/json;charset=gb2312");
  PrintWriter out = response.getWriter();
  String username=request.getParameter("username");
  String password=request.getParameter("password");
  
  if(username=="aa"||password=="aa"){
   out.print(true);
   out.flush();
   out.close();
   return;
  }else{
   out.print(false);
   out.flush();
   out.close();
   return;
  }
 }

 

三、在页面中引用JS文件,如 :json


<script type="text/javascript" src="js/prototype.js"></script>app

 

2、页面向后台传一个form中的全部内容:
在页面中加入JS方法:如框架

(向后台传get方式的几个值)post

function getStByKsKm(id,name){
 var par="id="+id+"&name="+name;

  new Ajax.Request(//声明ajax对象
         //调用方法名
       'qxfp.do?method=getStByKsKm',
           {

            //*******传递单个少数几个值,用URL传递********
             method:'get',//提交方式
            method:'get',//提交方式
 

             //*****传递多个值,用post方式********
              method:'post',//提交方式
              postBody: $('form1').serialize(),//序列化表单,即为发送表单作准备

             onSuccess:function(response){//成功后执行的方法

             //********成功之后用JSONObject获得后台传入的多个值*********
             //获得后台的返回的JSONObject对象
              var myobj=response.responseText.evalJSON(true);
              //myobj的istrue字段中存储着结果
              if(!myobj.istrue){
               alert(myobj.errormessage);
               return;

 

             //********成功之后用获得后台传入的单个值*********
              var result=response.responseText;
              //result中存储着是后台的out.print();返回的值
              if(result){
               alert(myobj.errormessage);
               return;

 


              }}
             }
       }
      );
   }

 

下篇日志是附带JS的代码:prototype

相关文章
相关标签/搜索