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

相關文章
相關標籤/搜索