当前位置:编程学习 > php >>

JAVA里AJAX和JS 调用问题

需要实现这样的一个功能,有一个HTML文件,假设为demo.html . 当页面加载时候用AJAX发送请求到数据库然后通过ID查询到一个值, 输出在这个html文件上(注 ID 为HTML文件里固定的值带着传递,数据库里对应的 ID 是唯一的,如通过ID查询NUM<int型>) 使用语言为java 别给我发asp,或php的 我看不懂, ajax发送请求到一个action中即可, 不要贴网页,把代码贴上就好,只要我看懂并实现马上给分.我对AJAX和JS理解比较差,不要口水我了,请大家帮忙!

答案:简单例子,Action自己改动

HTML:

  <html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type="text/javascript"  language="javaScript" charset="utf-8">
            var xmlRequest = false;
            function getXmlRequest(){
                try{
                    xmlRequest = new XMLHttpRequest();
                }catch(e){
                    xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
                }
            }
           
            function loading(){
                getXmlRequest();
                if(!xmlRequest){
                    return ;
                }
                var url = "test.do";
                xmlRequest.onreadystatechange = getResult;
                xmlRequest.open("GET", url, true);
                xmlRequest.send(null);
            }
            function getResult(){
               
                if(xmlRequest.readyState == 4){
                    if(xmlRequest.status == 200){
                        var result = document.getElementById("result");
                        var response = xmlRequest.responseText;
                        result.innerHTML = response;
                    }
                }
            }
        </script>
    </head>
    <body onload="loading()">
        TODO write content
        <div id="result">
            &nbsp;
        </div>
    </body>
</html> Struts Action: package com.myapp.struts;import java.io.PrintWriter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;
public class TestAction extends org.apache.struts.action.Action {
      public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        //Action 自己改动
        response.setContentType("text/html;charset=UTF-8");        PrintWriter out = response.getWriter();
        try {
           //
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet NewServlet</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Struts at " + request.getContextPath () + "</h1>");
            out.println("</body>");
            out.println("</html>");
           
        } finally {
            out.close();
        }        return null;
    }

//这是我写的一个简单的发送AJAX请求的函数

 

//首先要添加对通用开源AJAX类zxml.js的引用

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

<script type="text/javascript">

function requestIndexList(t,movnum,cid,gid,mid,sid) { //v1.1
 var myGlobalHandlers = {
  onCreate: function(){
   Element.show('flasher');
  },
  onComplete: function() {
  if(Ajax.activeRequestCount == 0){
   Element.hide('flasher');
  }
  }
 };

 var oXmlHttp = zXmlHttp.createRequest();

// 根据传入参数构建调用后台程序的action,并发送AJAX请求
 oXmlHttp.open("get", "action/GetIndexList.php?t="+t+"&movnum="+movnum+"&cid="+cid+"&gid="+gid+"&mid="+mid+"&sid="+sid, true);
 oXmlHttp.onreadystatechange = function () {
  if (oXmlHttp.readyState == 4) {
   if (oXmlHttp.status == 200) {
    displayIndexList(t,oXmlHttp.responseText);
   } else {
    displayIndexList(t,"发生错误: " + oXmlHttp.statusText);
   }
  } else {
   Ajax.Responders.register(myGlobalHandlers);
  }
 };
 oXmlHttp.send(null);
}

</script>

用java??都后台了,还怎么aja

上一个:JSP跳转问题
下一个:$code="print('\n$str\n');";

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,