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; } } (向頁面傳單個值) 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文件,如
<script type="text/javascript" src="js/prototype.js"></script>ajax
2、頁面向後臺傳一個form中的全部內容:
在頁面中加入JS方法:如json
(向後臺傳get方式的幾個值)
app
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的代碼: 框架