隨筆 - 20  文章 - 2  trackbacks - 0
          <2009年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          常用鏈接

          留言簿(1)

          隨筆檔案

          相冊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          如題,廢話不多說。

          JSP頁面

          hello.jsp

          <%@ page contentType="text/html; charset=GBK" %>
          <html>
          <head>
          <title>AJAX提交頁面</title>
          <meta http-equiv="Content-Type" content="text/html; charset=gbk">
          <script type="text/javascript" src="ajax.js"></script>
             <script type="text/javascript">
             function doso(){
               var url = "actAction.do";
               var s="武曉強斯蒂芬34-*(&_(*!$^_*!&#!^$+!*#&&";
               s=encodeURIComponent(s);      //轉換特殊字符
               var parameter ="name="+s+"&email=abc@abc.com&www=http://wxq594808632.blog.163.com/";
               var method = "POST";
               function callBack(text){           //回調函數
                alert("調用成功!\n名字為:"+text);
               }
             new Ajax().ajaxRequest(url,parameter,method,callBack);     //調用方法發送Request
             }
             </script>
          </head>
          <body>
          <input type="button" value="提交" onclick="doso()"/>
             </body>
          </html>

           

          java類

          ActAction.java

          package ajaxpost;

          import org.apache.struts.action.ActionMapping;
          import org.apache.struts.action.ActionForm;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;
          import org.apache.struts.action.ActionForward;
          import org.apache.struts.action.Action;
          import java.io.UnsupportedEncodingException;
          import java.io.IOException;
          import java.io.PrintWriter;

          public class ActAction extends Action {

              public ActionForward execute(ActionMapping mapping, ActionForm form,
                                           HttpServletRequest request,
                                           HttpServletResponse response) throws
                      UnsupportedEncodingException {
                  //設置字符編碼返回的編碼
                  response.setContentType("text/html;charset=UTF-8");
                  //接收字符的編碼
                  try {
                      request.setCharacterEncoding("UTF-8");
                  } catch (UnsupportedEncodingException e) {
                      e.printStackTrace();
                  }
                  PrintWriter out = null;
                  try {
                      out = response.getWriter();
                  } catch (IOException ex) {
                      ex.printStackTrace();
                  }
                  String name = request.getParameter("name");
                  String email = request.getParameter("email");
                  String www = request.getParameter("www");
                  System.out.println(email);
                  System.out.println(name);
                  System.out.println(www);
               //   out.print(name+"\n"+email+"\n"+www);
                  out.print(name);         //返回值
                  return null;
              }
          }

          最重要滴

          ajax.js

          我用別人的。感謝這位大哥。。

          /*
          author zhangshuling
          email 
          zhangshuling1214@126.com
          */
          function  Ajax(){
              var _xmlHttp = null;
           this.createXMLHttpRequest = function(){
            try{
             if (window.ActiveXObject) {                                                     
              _xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");                                     
             }                                                                               
             else if (window.XMLHttpRequest) {                                                   
              _xmlHttp = new XMLHttpRequest();                                               
             }
            }catch(e){
               alert(e.name +" : " + e.message);
            }
           }
           
           this.backFunction = function(_backFunction){
            if(_xmlHttp.readyState == 4) {
             if(_xmlHttp.status == 200) {
              _backFunction(_xmlHttp.responseText);//這里可以設置返回類型
             }
            }
             _xmlHttp.onreadystatechange = null;
           }

           this.doPost = function(_url,_parameter,_backFunction){
               try{
                _xmlHttp.open("POST",_url, false);
             _xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
             _xmlHttp.send(_parameter);
             }catch(e){
              alert(e.name +" : " + e.message);
               }
           }
           
           this.doGet = function(_url,_parameter,_backFunction){
              try{
                  var _random = Math.round(Math.random()*10000);
                  _xmlHttp.open("GET", (_url+"?random=" +_random +"&" + _parameter), false);
               _xmlHttp.send(null);
             }catch(e){
                alert(e.name +" : " + e.message);
             }
           }
           
              this.ajaxRequest = function(_url,_parameter,_method,_backFunction){
                    try{
                      this.createXMLHttpRequest();
                   if(_method.toLowerCase() == "post"){
                      this.doPost(_url,_parameter,_backFunction);
                   }else{
                      this.doGet(_url,_parameter,_backFunction); 
                   }
                   try{
                     _xmlHttp.onreadystatechange = this.backFunction(_backFunction);
                   }catch(err){
                      //??????IE?????????????????
                   }
                }catch(e){
                alert(e.name +" : " + e.message);
             }
               }

          }

          /*
           var url = "ajax.do";
           var parameter = "parameter=parameter";
           var method = "post"
           
           function callBack(text){
            ....
           }
           
           new Ajax().ajaxRequest(url,parameter,method,callBack);

          */

           

          經過本人FF,IE6,IE7,測試。完全好用


          文章來源:http://wxq594808632.blog.163.com/blog/static/109079755200923121054225
          posted on 2009-03-31 14:11 武志強 閱讀(844) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 漯河市| 康乐县| 屏边| 莱州市| 太湖县| 乌恰县| 辽中县| 桂东县| 乌兰县| 蒙城县| 龙口市| 上高县| 郯城县| 凤山县| 自贡市| 习水县| 梓潼县| 隆安县| 桃江县| 成都市| 界首市| 乌兰察布市| 行唐县| 四平市| 阿尔山市| 榆林市| 上犹县| 佛坪县| 通辽市| 阿坝县| 东港市| 孟州市| 阜新市| 望江县| 罗甸县| 华阴市| 栾城县| 承德县| 偏关县| 九江县| 嘉荫县|