我要做的是进行两次ajax调用,并使每个结果显示在同一页面的两个不同div中。
这是我的Javascript代码:
function firstLoad(){
firstDiv(datedisplay.value);//populating first div
secondDiv(datedisplay.value);//populating second div
}
function loadXMLDoc(url,cfunc){
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=cfunc;
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
function firstDiv(changed_date){
var divided_date = changed_date.split("-");
loadXMLDoc("getmonth.php?m="+divided_date[0]+"&y="+divided_date[1],function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("timetableview").innerHTML=xmlhttp.responseText;
}
});
}
function secondDiv(changed_date){
var divided_date = changed_date.split("-");
loadXMLDoc("getmonthexp.php?m="+divided_date[0]+"&y="+divided_date[1],function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("expensesview").innerHTML=xmlhttp.responseText;
}
});
}
响应内容是正确的,但现在发生的是: 第二个div正确填充。 第一个div保持空白,如果我不断刷新页面,最终第二个div的内容也会出现在第一个div中(很奇怪)。
希望你们能帮帮我。
答案 0 :(得分:1)
xmlhttp是全局的,因为您不使用var关键字。这意味着您用于一个的onreadystatechange函数将覆盖另一个。
function loadXMLDoc(url, cfunc) {
var xmlhttp;
答案 1 :(得分:0)
xmlhttp
是全球性的,因为您不使用var
关键字。这意味着您用于一个的onreadystatechange
函数将覆盖另一个函数。
function loadXMLDoc(url, cfunc) {
var xmlhttp;