Strophe.js 注册插件不起作用

Posted

技术标签:

【中文标题】Strophe.js 注册插件不起作用【英文标题】:Strophe.js register plugin not working 【发布时间】:2014-01-16 08:55:32 【问题描述】:

我在远程位置托管了 Ejabberd 服务器。我正在尝试使用 Strophe.js 注册插件注册新帐户,但我找不到为什么这不起作用。下面是我写的代码

    var connection = new Strophe.Connection("http://ip-address:5222/http-bind");
    var callback = function (status) 
        alert(Strophe.Status.REGISTER); // Returning me 10
        if (status === Strophe.Status.REGISTER) 
            alert("Entered");
            connection.register.fields.username = "hello";
            connection.register.fields.password = "hello";
            connection.register.submit();
         else if (status === Strophe.Status.REGISTERED) 
            alert("registered!");
            connection.authenticate();
         else if (status === Strophe.Status.CONNECTED) 
            alert("logged in!");
         else 
            // Sometimes execution entering into this block.
            document.body.innerhtml = (JSON.stringify(status));
        
    ;
    connection.register.connect("localhost", callback);

要添加到此的任何额外代码或我必须做的任何修复才能使其正常工作。请帮助我。 Strophe.js 文档很糟糕。

【问题讨论】:

我对 Strophe.js 一无所知,但是否可以看到 XMPP 节被发送和接收?看到这些可能会立即发现问题。 诀窍是同时使用 RAW INPUT 和 RAW OUTPUT + CONNECTION STATUS 来确定服务器的实际情况。请看这段代码:faraxmobile.com/r/afrika/hula3/js/models/connection/…我必须警告你我正在使用backbone.js和JOOP。 【参考方案1】:

strophe.register.js 中转到第 215 行并按照以下代码进行更改。

 /*if (register.length === 0) 
            that._changeConnectStatus(Strophe.Status.REGIFAIL, null);
            return;
         else */
this.enabled = true;

尝试以上一个。

【讨论】:

【参考方案2】:
var connection = new Strophe.Connection("http://ip-address:5222/http-bind/");

结尾处需要斜线。

【讨论】:

以上是关于Strophe.js 注册插件不起作用的主要内容,如果未能解决你的问题,请参考以下文章

带有 DOJO 插件的 Struts 2.3.15 不起作用

ActiveX控件注册不起作用的解决办法

jquery验证表单不起作用[关闭]

数据表自定义错误处理不起作用

JQuery确认密码验证不起作用

Django用户注册验证不起作用