我现在想用一个button,点击之后调用js的function,在fuction里面再调用jave类的静态函数。
看了一下,有DWR和AJAX的实现方式,不过不想用框架
我试了下js中嵌入<% %>方式也实现不了。
求能不能给个简单的AJAX实例,谢谢啦!

解决方案 »

  1.   

    var xmlHttp;
        //创建XMLHttpRequest对象
      function createXMLHttpRequest(){
       if(window.ActiveXObject){
       xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
       }
       else if(window.XMLHttpRequest){
       xmlHttp = new XMLHttpRequest();
       }
      }
      
      function startRequest(){
       createXMLHttpRequest();
       try{
       xmlHttp.onreadystatechange = handleStateChange;
       xmlHttp.open("GET", "xxxxxxx.action",true);
       xmlHttp.send(null);
       }catch(exception){
       alert(exception.message);
       }
      }
      
      function handleStateChange(){
       if(xmlHttp.readyState == 4){
       if (xmlHttp.status == 200 || xmlHttp.status == 0){
       // 取得返回字符串
       var resp = xmlHttp.responseText;
       // 然后可以把resp构造返回JSON对象或者XML对象
       }
       }
    }<body init="createXMLHttpRequest()">
    JS中调用 startRequest()方法,handleStateChange()方法中获得JAVA类的返回数据
      

  2.   

    你是想直接用js调用 类的静态方法!?如果是的话, 建议还是先搞清啥事web吧。
      

  3.   

    js中直接调用Java代码?js是运行在客户端的,Java是运行在服务器端的,这个不行吧?
      

  4.   

    这肯定不是调用方法了只是你去访问web你可以用servlet或者webservice实现。
      

  5.   

    // 创建Ajax
    var xmlHttp;
    // 如果不是IE内核浏览器
    if (window.XMLHttpRequest) {
    xmlHttp = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    } // 设置Ajax引擎,后面加个时间,让每次的url都不一样
    var url = "validateRegister?regEmail=" + gotEmail + "&time="
    + new Date().getTime();
    // 设置请求方式get,请求的url;提交方式为异步提交。
    xmlHttp.open("GET", url, true);
    // 将方法地址赋值给onreadystatechange属性
    xmlHttp.onreadystatechange = function() {
    // 有响应(引擎初始化成功)
    if (xmlHttp.readyState == 4) {
                                   // 与服务器连接成功
    if (xmlHttp.status == 200 || xmlHttp.status == 0) {
    //获得服务端响应
    if (xmlHttp.responseText.trim().length == 4) {
    // 没被注册,在后面加个图片打钩
    document.getElementById("divAccount").innerHTML = "<img name='correct' src='65.png'>";
    fEmail=true;
    } else { document.getElementById("divAccount").innerHTML = "<font color='red' size='2'>该邮箱已被注册</font>";
    }
    } else {
    alert("请求失败,错误码:" + xmlHttp.status);
    }
    }
    };
    // 将配置信息发送到Ajax引擎,因为是get提交,所以是null
    xmlHttp.send(null);
    }
      

  6.   

    楼主说在js中调用java方法,你看是不是这样的
    js中的方法function a(){
        var str=<%=类b.方法名c()%>
       alert(str)
    }当调用js中的方法a时,会弹出java类b中的c方法的返回值
      

  7.   

    Java程序分服务器端的Servlet和客户端的Applet,两种是不一样的,
    js可以通过AJAX来访问服务器端的Servlet,也可与Applet进行通讯,但机制不同
      

  8.   

    回复于: 2013-05-29 15:45:38
    你是想直接用js调用 类的静态方法!?如果是的话, 建议还是先搞清啥事web吧。
      

  9.   

    我现在用XMLHTTPrequest发送请求了,但是XMLHTTPrequest只能实现本地的调用,我使用http://localhost:***可以调用,但是调用远程的web服务。例如http://matsg.df.com/*  就失败了?这是什么原因。XMLHTTPrequest对象不能实现远程调用吗?
      

  10.   

    如果不用ajax,要写一个service.jsp(Java代码写在这里)。 js代码把参数给service.jsp。在service.jsp做Java处理,然后再跳转到当前页面,用request.getParameter去取结果。然后js根据'<%=XXX%>'结果去执行js代码。
    这么写还不如直接ajax呢。