XMPP-示例第3章“使用JavaScript和jQuery进行专业XMPP编程”不起作用

| 我只是XMPP的新手,并且正在编写第一个\“ HELLO \”代码。请花些时间看下面的代码(.zip在本主题的结尾):
<html>

<head>
<title>Hello - Chapter 3</title>
<style type=\"text/css\">
body {
    font-family: Helvetica;
}

h1 {
    text-align: center;
}

.hidden {
    display: none;
}

#log {
    padding: 10px;
}
</style>
<script language=\"javascript\" type=\"text/javascript\" src=\"scripts/jQuery.js\"></script>
<script language=\"javascript\" type=\"text/javascript\" src=\"scripts/jQueryUI.js\"></script>
<script language=\"javascript\" type=\"text/javascript\" src=\"scripts/strophe.js\"></script>
<script language=\"javascript\" type=\"text/javascript\" src=\"scripts/flXHR.js\"></script>
<script language=\"javascript\" type=\"text/javascript\" src=\"scripts/strophe.flxhr.js\"></script>
<link rel=\"stylesheet\" href=\"hello.css\"></link>
<script language=\"javascript\" type=\"text/javascript\">
var Hello = {
        connection: null,
        log: function(msg) {
        $(\"#log\").append(\"<p>\" + msg + \"</p>\");
        }
    };

$(document).ready(function() {
    $(\"#login_dialog\").dialog({
        autoOpen: true,
        draggable: false,
        modal: true,
        title: \"Connect to XMPP\",
        buttons: {
            \"Connect\": function() {
                $(document).trigger(\"connect\", {
                    jid: $(\"#jid\").val(),
                    password: $(\"#password\").val()
                });
                $(\"#password\").val(\"\");
                $(this).dialog(\"close\");
            }
        }
    });

    $(document).bind(\"connect\", function(ev, data) {
        var conn = new Strophe.Connection(\"http://bosh.metajack.im:5280/xmpp-httpbind\");
        conn.connect(data.jid, data.password, function(status) {
            if (status === Strophe.Status.CONNECTED) {
                $(document).trigger(\"connected\");
            } else if (status === Strophe.Status.DISCONNECTED) {
                $(document).trigger(\"disconnected\");
            }
        });
        Hello.connection = conn;
    });

    $(document).bind(\"connected\", function() {
        // Inform the user
        Hello.log(\"Connection established\");
    });

    $(document).bind(\"disconnected\", function() {
        Hello.log(\"Connection terminated.\");
        // Remove dead connection object
        Hello.connection = null;
    });
});
</script>
</head>


<body>
<h1>Hello</h1>
<div id=\"log\"></div>

<!-- Login dialog -->
<div id=\"login_dialog\" class=\"hidden\">
<label>JID:</label><input type=\"text\" id=\"jid\">
<label>Pwd:</label><input type=\"password\" id=\"password\">
</div>

</body>

</html>
根据文档和代码,它必须说“连接已建立”或“连接已终止”。但事实并非如此。我试图在代码的每一行中加上“ 1”,但它仍然是alert()。当我将其放入bind(\“ connected \”)和bind(\“ disconnect \”)时,它不再发出警报。所以我猜代码不能运行到那里。我以前从未做过,而且几乎没有关于此的文档,所以我不知道现在该怎么办。 问题:你们可以看看它,然后告诉我出什么问题了吗?我自己仍在调试它! 额外信息:这些是我的Web文件夹中的内容(我怕缺少javascript框架文件)。所有js文件均为最新版本。 index.html 脚本/ jQuery.js jQueryUI.js strophe.js flensed.js flXHR.js flXHR.swf flXHR.vbs swfobject.js updateplayer.swf checkplayer.js CSS / 不重要... 这是我的代码,请花一些时间查看它:http://xx3004.kodingen.com/XMPP 我将不胜感激。 [X]     
已邀请:
您的代码还可以, 问题出在提供使用Strophe进行连接的URL中。 var conn = new Strophe.Connection(\“ http://bosh.metajack.im:5280 / xmpp-httpbind \”); 尝试查找服务器的位置,否则在计算机上本地安装xmpp服务器(vysper),并将URL更改为http:// localhost:8080 / bosh / 还尝试注释flxhr包含项。     
如果您在本地主机上运行Openfire,请确保
bosh_service_url =  \'http://127.0.0.1:7070/http-bind/\'
var conn = new Strophe.Connection(\"http://127.0.0.1:7070/http-bind/\");
如果您在本地主机上运行ejabberd,请确保
bosh_service_url = \"http://127.0.0.1:5222/http-bind/\"
    

要回复问题请先登录注册