проблемы инициализации jquery.cometd - PullRequest
0 голосов
/ 20 января 2012

Я пытаюсь создать простую тестовую страницу 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 не определен в строке 20 jquery.cometd.js. Обсуждаемая строка:

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

это библиотека, которую я скачал, и я думаю, что я здесь что-то не так делаю, но понятия не имею, что это такое.

спасибо заранее, Миха

1 Ответ

1 голос
/ 16 февраля 2012

Вы не включили библиотеку JavaScript Cometd.Это должно быть сделано до включения 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>
...