在jquery中使用jquery Ajax的响应元素

时间:2013-02-25 10:52:54

标签: jquery httpresponse getelementbyid

我的项目首先有两个功能:

function send(method,url,data,content_id,show_wait,small,aaa)
{
    if(content_id!='multipart'&&show_wait)
    {
        if(typeof(small) === 'undefined'){
            showwait(content_id);
        }else{
            smallshowwait(content_id);
        }
    }
    var XMLHttp=new XMLHttpRequest(); // is XMLHttpRequest httprequest class
    XMLHttp.onreadystatechange = function()
    {
        if(XMLHttp.readyState == 4 && XMLHttp.status == 200)
        {
            //alert(XMLHttp.responseText);
            if(content_id!='multipart')
            {
                MyResponse = XMLHttp.responseText.split('#$$#');
                if(typeof(aaa) === 'undefined'){
                    document.getElementById(content_id).style.display="none";
                    $(document.getElementById(content_id)).fadeIn("slow");
                }
            }
        }
    }
}

和第二个功能是:

function aya(method,url,data,divid,isresponse){
    $(document).ready(function(){
        send(method,url,data,divid,isresponse,'small','aaa');
        $(document).ready(function(){
            alert('test');
            addActiveClass('inbox');
            send(method,'messages/showmessage.php',data,'messagecontent',true);
        });
    });
}

第二个功能正常工作。但是当我想要删除alert('test');错误时。 在firebug错误显示:

  

document.getElementById(...)为空
  有办法我可以删除警报吗?

1 个答案:

答案 0 :(得分:1)

您可以转换代码:

alert('test');
addActiveClass('inbox');
send(method,'messages/showmessage.php',data,'messagecontent',true);

到:

setTimeout(function(){
        addActiveClass('inbox');
    },200);
    setTimeout(function(){
        send('post','messages/showmessage.php',data,'messagecontent',true);
    },1000);