实现ajax 异步访问网络的方法有两个。第一个是原始的方法,第二个是利用jquery包的
原始的方法不用引入jquery包,只需在html中编写script 片段
这里我演示的是一个传递参数查询的例子;
varurl="expert_ZFTservlet?expert_name="+"曾攀";
<script type="text/javascript">
function load(){
var xmlhttp;
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera,Safari
xmlhttp= newXMLHttpRequest();
}else{// code for IE6, IE5
xmlhttp= newActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange= function(){
if (xmlhttp.readyState ==4 && xmlhttp.status == 200) {//获得了请求数据
var expertinfolist = xmlhttp.responseText;
//发送请求数据到myDiv document.getElementById("myDiv").innerHTML=expertinfolist;
}
}
var url="expert_ZFTservlet?expert_name="+"曾攀";
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
script>
head>
<body>
<div id="myDiv">
div>
<button type="button" onclick="load()" >ChangeContentbutton>
body>
在使用该方法前需要引入Jquery包
<script src="js/jquery-1.5.1.min.js" type="text/javascript">script>
<script>
$.ajax({
type:'post', //方法类型
url:" expert_ZFTservlet?expert_name="+"曾攀",//请求地址
dataType:'json', //数据类型
success:callback//请求成功处理函数
});
//返回函数
function callback(data){
alert(data); //获得请求返回对象;
}
script>
expertinfolist为我的查询结果,
为一个list类型的对象
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
PrintWriterout=response.getWriter();
out.print(expertinfolist);
out.flush();
out.close();