这里的callback函数里面没有传过来xmlHttp对象,为什么里面可以用?
我觉得他应该写成有参函数,或者写成
xmlHttp.onreadystatechange=function(){
//代码
};
下面是源程序的完整代码
<script type="text/javascript">
var xmlHttp=null;
function getMoreContents(){
//获得用户输入
var content=document.getElementById("keyword");
if(content.value==""){
return;
}
//要给服务器发送用户输入的内容,使用XMLHttpRequest对象
xmlHttp=createXMLHttp();
//给服务器发送数据,使用 XMLHttpRequest 对象的 open() 和 send() 方法:
//SerachServlet是servlet类
var url="SerachServlet?keyword="+escape(content.value);
xmlHttp.open("get",url,true);
xmlHttp.send();
xmlHttp.onreadystatechange=callback;
}
//获得xmlHttp
function createXMLHttp(){
var xmlHttp=null;
if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
return xmlHttp;
}
function callback(){
if (xmlHttp.readyState==4 && xmlHttp.status==200){
//成功,返回数据
var result=xmlHttp.responseText;
//解析数据
var json=eval("("+result+")");
//数据展示到输入框下面
}
}
</script>