jquery.cometd初始化问题

时间:2012-01-20 07:30:25

标签: jquery comet bayeux

我正在尝试创建一个简单的测试HTML页面,显示来自Bayeux服务器的消息。

这是代码:

  <html>
  <head>
     <title>test Baeyux connexion</title>
     <script type="text/javascript" src="jquery/jquery-1.6.2.js"></script>
     <script type="text/javascript" src="jquery/jquery.cometd.js"></script>
     <script type="text/javascript" src="jquery/json2.js"></script>
  </head>
  <body>
  <script type="text/javascript">
     jQuery( document ).ready( function ( $ ) {
        var cometd = $.cometd;

        cometd.init( 'http://localhost:8080/VisionWeb/cometd' );
        cometd.addListener( "/meta/handshake", function ( message ) {

        } );

        cometd.addListener( '/meta/connect', function ( message ) {
           // if (cometd.getStatus() === 'disconnecting' || cometd.getStatus() === 'disconnected')
           if ( cometd.isDisconnected() ) // Available since 1.1.2
           {
              return;
           }
           var wasConnected = _connected;
           _connected = message.successful;
           if ( !wasConnected && _connected ) {
              $( "#con" ).text( "RECONNECTED" );
           }
           else if ( wasConnected && !_connected ) {
              $( "#con" ).text( "DISCONNECTED" );
           } else if ( _connected ) {
              $( "#con" ).text( "ON" );
           } else {
              $( "#con" ).text( "OFF" );
           }
        } );

        cometd.addListener( '/meta/disconnect', function ( message ) {
           if ( message.successful ) {
              _connected = false;
           }
        } );
     });
  </script>
  <p>connexion is <span id="con">UNDEFINED</span></p>

  <p>comet messages</p>
  <ul id="msg"></ul>
  </body>
  </html>

当我尝试打开此页面时,我收到以下javascript错误:org未定义 在jquery.cometd.js的第20行。有问题的一行是:

org.cometd.JSON.toJSON = JSON.stringify;

这是我下载的一个库,我想我在这里做错了,但我不知道它是什么。

提前谢谢, 米莎

1 个答案:

答案 0 :(得分:1)

你还没有包含cometd javascript库。这必须在包括jquery.cometd.js之前完成。 jquery.cometd.js只是将cometd和jquery连接在一起的粘合剂。尝试更像这样的脚本:

    <script type="text/javascript" src="/org/cometd.js"></script>
    <script type="text/javascript" src="/org/cometd/ReloadExtension.js"></script>
    <script type="text/javascript" src="/jquery/jquery-1.6.4.js"></script>
    <script type="text/javascript" src="/jquery/json2.js"></script>
    <script type="text/javascript" src="/jquery/jquery.cookie.js"></script>
    <script type="text/javascript" src="/jquery/jquery.cometd.js"></script>
    <script type="text/javascript" src="/jquery/jquery.cometd-reload.js"></script>