我怎样才能调用ajax函数两次(onchange)

时间:2012-07-31 14:12:03

标签: php ajax function

这是我的ajax功能

var XMLHttpRequestObject = false;
if(window.XMLHttpRequest){
    XMLHttpRequestObject= new XMLHttpRequest();
} 
else if (window.ActiveXObject){
    XMLHttpRequestObject= new ActiveXObject("Microsoft.XMLHTTP");
}

function getData(dataSource, divID)
{
    document.getElementById(divID).innerHTML = "Loading...";
    if(XMLHttpRequestObject)
    {
        var obj=document.getElementById(divID);
        //alert(dataSource);
        var dataSource = dataSource+'&done=ok';
        XMLHttpRequestObject.open("GET", dataSource);
        XMLHttpRequestObject.onreadystatechange =function ()
        {
            if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200){
                obj.innerHTML = XMLHttpRequestObject.responseText; 
                document.getElementById(divID).innerHTML=XMLHttpRequestObject.responseText;
            } //else {alert ('error'+dataSource)}
        }

        XMLHttpRequestObject.send(null);

    }
}

这是ajax函数上面的另一个函数调用两次:

function getCityResult(value){
    getData('aids/getRoutAjax.php?city='+value , 'rout');
    getData('aids/getOriginDestAjax.php?city='+value , 'OriginDest');
}

我选择了以下菜单:

<select name="city_id" id="city_id" class="" style="width:300px;" onchange="return getCityResult(this.value);">
    <option value="">Select</option>
    <option value="13">ABQ</option>
    <option value="12">MUB</option>
    <option value="14">UDH</option>
</select>

<div id="rout"> 
    //Show some data
</div>
<div id="OriginDest">
    // Show some data
</div>

我的结果是调用第一个只显示带有id [rout]的div的数据 我怎样才能通过这种方式同时打电话?

由于

1 个答案:

答案 0 :(得分:0)

如果你的代码在getOriginDestAjax.php中是正确的,那么它们都应该被调用,没有理由它只适用于第一个。 为了确保这一点,请尝试在同一页面上调用它们:

getData('aids/getRoutAjax.php?city='+value , 'rout');
getData('aids/getRoutAjax.php?city='+value , 'OriginDest');