所以我有点卡住了 有人可以在我的工作中看看这个功能:
function showUser(str) {
if (str=="") {
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","venue2.php?hotel="+str,true);
xmlhttp.send();
}
有人可以解释一下这个功能实际上有什么用吗? 我也可以调整它以使其以某种形式工作吗?
答案 0 :(得分:3)
function showUser(str) {
//in this part if str is null then clear the element "txtHint":
//============================================================
if (str=="") {
document.getElementById("txtHint").innerHTML="";
return;
}
//In this part create an object xmlhttp responsible on transactions :
//==================================================================
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
//define the function "onreadystatechange", will be called when receving data:
//===========================================================================
xmlhttp.onreadystatechange=function() {
// verify the state of data received , if we receive all data and all is OK
//=========================================================================
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
//trans the data received to txtHint:
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
//now, we call the the Url with the param hotel in GET:
//====================================================
xmlhttp.open("GET","venue2.php?hotel="+str,true);
xmlhttp.send();
}
答案 1 :(得分:1)
此函数是一个AJAX(=异步Javascript和XML)请求,不使用任何流行的框架,如dojo或jquery。 AJAX用于创建请求而无需重新加载页面。例如:
当您打开stackoverflow时,您将在几秒钟后自动登录,而无需重新加载页面。
基本上它会检查给定参数str
是否为空。如果是,请使用ID' txtHint'清除元素的值。如果它不为空,则获得元素的值' txtHint'并将其放入请求中。然后它添加'hotel=str'.
答案 2 :(得分:0)
它对文件venue2.php进行Ajax调用,将参数hotel width的值传递给str。 如果调用正常,它会将响应Text放在带有id = txtHint
的html标记内答案 3 :(得分:0)
1)函数获取一个名为str
的参数。
2)它检查str
是否为空字符串。如果那个为空则然后破坏代码执行(返回)。
3)如果str
不为空,则创建XMLHttpRequest object
并使用参数hotel = str从venue2.php
发送请求。
4)当请求完成后,将响应加载到txtHint
div。