*
* @author liang
*需求:通过点击button按钮,向服务器以get方式发送数据,同时将服务器返回的数据显示到span的标签内
*/
1:jsp页面:
<body>
<div>
<input type="button" id="btn" value="点击一下"/><br/>
<span id="inner"></span>
</div>
</body>
2:js代码:
//共分四步:尽管前边有大概复习一下
//1:得到xmlHttpRequest 对象
//2:打开与服务器的连接
//3:发送内容
//4:从服务器端得到响应消息
function createXmlHttpRequest(){
var xmlHttpRequest ;//声明一个xmlHttpRequest对象
try{
//大多数浏览器都支持的创建xmlHttpRequest 对象的方式
xmlHttpRequest = new XMLHttpRequest();
}catch(e){
try{
//==>> IE6.0版本下的创建XMLHttpRequest的方式
xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
//==>> IE5.0及以下创建XMLHttpRequest 对象的方式
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
throw e;
}
}
}
return xmlHttpRequest;
}
window.onload = function(){//文档一开始就执行
var btn = document.getElementById("btn");//得到btn对象
btn.onclick = function(){//在btn上绑定click对象,注意这里的onclick都是小写,我当时写的时候把c字母写成大写了
var xmlHttp = createXmlHttpRequest();//得到xmlHttpRequest 对象
xmlHttp.open("GET","AjaxDemo",true);//get方式请求open("请求的方式","请求的uri","是否设置成异步的方式")
xmlHttp.send(null);
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
var text = xmlHttp.responseText;//得到从服务器传送回来的数据
var inner = document.getElementById("inner").innerHTML = text;//写入到span中
}
};
};
};
</script>
Server端的代码比较简单:
protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
// TODO Auto-generated method stub
response.getWriter().println("Hello AJAX!!!");//通过response对象将"Hello AJAX!!! 写回到jsp页面"
response.getWriter().flush();//刷新一下
response.getWriter().close();//关闭writer对象
}
注意web.xml文件
<servlet> <description></description> <display-name>AjaxDemo</display-name>//这里配置的便是访问servelt的Uri <servlet-name>AjaxDemo</servlet-name> <servlet-class>AjaxDemo2.AjaxDemo</servlet-class> </servlet> <servlet-mapping> <servlet-name>AjaxDemo</servlet-name> <url-pattern>/AjaxDemo</url-pattern> </servlet-mapping>
原文链接:https://www.f2er.com/ajax/162926.html