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

如何实现js调用java函数

我现在想用一个button,点击之后调用js的function,在fuction里面再调用jave类的静态函数。
看了一下,有DWR和AJAX的实现方式,不过不想用框架
我试了下js中嵌入<% %>方式也实现不了。
求能不能给个简单的AJAX实例,谢谢啦! --------------------编程问答-------------------- 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类的返回数据 --------------------编程问答-------------------- 你是想直接用js调用 类的静态方法!?

如果是的话, 建议还是先搞清啥事web吧。 --------------------编程问答-------------------- js中直接调用Java代码?js是运行在客户端的,Java是运行在服务器端的,这个不行吧? --------------------编程问答-------------------- 貌似不可以这样调用滴!    楼主可以使用自定义标签来调用后台的静态函数! --------------------编程问答-------------------- 这种需求还是dwr比较适合。 --------------------编程问答-------------------- 这肯定不是调用方法了。。。只是你去访问web。。。你可以用servlet或者webservice实现。。。。 --------------------编程问答-------------------- // 创建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);
}
--------------------编程问答-------------------- 楼主说在js中调用java方法,你看是不是这样的
js中的方法function a(){
    var str=<%=类b.方法名c()%>
   alert(str)
}

当调用js中的方法a时,会弹出java类b中的c方法的返回值 --------------------编程问答-------------------- Java程序分服务器端的Servlet和客户端的Applet,两种是不一样的,
js可以通过AJAX来访问服务器端的Servlet,也可与Applet进行通讯,但机制不同 --------------------编程问答-------------------- 回复于: 2013-05-29 15:45:38
你是想直接用js调用 类的静态方法!?

如果是的话, 建议还是先搞清啥事web吧。 --------------------编程问答-------------------- AJAX   dwr --------------------编程问答-------------------- --------------------编程问答-------------------- 我现在用XMLHTTPrequest发送请求了,但是XMLHTTPrequest只能实现本地的调用,我使用http://localhost:***可以调用,但是调用远程的web服务。例如http://matsg.df.com/*  就失败了?这是什么原因。XMLHTTPrequest对象不能实现远程调用吗? --------------------编程问答-------------------- 如果不用ajax,要写一个service.jsp(Java代码写在这里)。 js代码把参数给service.jsp。在service.jsp做Java处理,然后再跳转到当前页面,用request.getParameter去取结果。然后js根据'<%=XXX%>'结果去执行js代码。
这么写还不如直接ajax呢。
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,