通过Ajax在另一个页面中加载页面

时间:2014-03-19 12:03:55

标签: javascript php jquery ajax

我在PHP页面中进行了Ajax聊天,一切都运行得很顺畅。 然后我尝试在弹出的div中的另一个页面上采用这个聊天(通过z-index上的css)。

这是代码:

function showChat(username){
                    var
                        $http,
                        $self = arguments.callee;

                    if (window.XMLHttpRequest) {
                        $http = new XMLHttpRequest();
                    } else if (window.ActiveXObject) {
                        try {
                            $http = new ActiveXObject('Msxml2.XMLHTTP');
                        } catch(e) {
                            $http = new ActiveXObject('Microsoft.XMLHTTP');
                        }
                    }

                    if ($http) {
                        $http.onreadystatechange = function()
                        {
                            if (/4|^complete$/.test($http.readyState)) {
                                window.parent.document.getElementById('chatbox').style.display = "block";
                                window.parent.document.getElementById('chatbox').innerHTML = $http.responseText;
                            }
                        };
                        $http.open('GET', "dashchat/chatbox.php?chatWith="+username, true);
                        $http.send(null);
                    }
        }

div显示和聊天的文本框显示但消息没有显示 ajax不运行,当我提交消息时,它会重定向到我的sendmessage.php 任何想法?

1 个答案:

答案 0 :(得分:0)

试试这个

function showChat(username) {
    var 
                        $http,
                        $self = arguments.callee;

    if (window.XMLHttpRequest) {
        $http = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        try {
            $http = new ActiveXObject('Msxml2.XMLHTTP');
        } catch (e) {
            $http = new ActiveXObject('Microsoft.XMLHTTP');
        }
    }

    if ($http) {
        $http.onreadystatechange = function () {
            if ($http.readyState == 4) {
                window.parent.document.getElementById('chatbox').style.display = "block";
                window.parent.document.getElementById('chatbox').innerHTML = $http.responseText;
            }
        };
        $http.open('GET', "dashchat/chatbox.php?chatWith=" + username, true);
        $http.send(null);
    }
}