Jetty、Dojo、および Maven を使用して Bayeux サーバーとクライアントをセットアップしようとしています。
私の問題は、道場の準備が整っていないように見えることです。require のコールバックは呼び出されません。
これは HTML ページのコードです。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<script data-dojo-config="parseOnLoad:true" src="dojo/dojo.js.uncompressed.js"></script>
<script type="text/javascript">
function initFormListener( onNewForm ) {
require(["dojox/cometd", "dojo/io/script", "dojox/cometd/callbackPollTransport", "dojo/domReady!" ],
function ( cometd, io, callback ) {
console.log(" entered CometD function ");
// Function that manages the connection status with the Bayeux server
var _connected = false;
var _metaConnect = function ( message ) {
if ( cometd.isDisconnected() ) {
_connected = false;
console.log( "disconnected from server " + message );
return;
}
var wasConnected = _connected;
_connected = message.successful === true;
if ( !wasConnected && _connected ) {
console.log( "connected to server " );
}
else if ( wasConnected && !_connected ) {
console.log( "connection broken from server " + message );
}
}
// Function invoked when first contacting the server and
// when the server has lost the state of this client
var _metaHandshake = function ( handshake ) {
if ( handshake.successful === true ) {
cometd.batch( function () {
cometd.subscribe( '/newFormData', function ( message ) {
console.log( "new data for form " + message.formId + " in formData " + message.formDataId );
} );
} );
}
}
// Disconnect when the page unloads
dojo.addOnUnload( function () {
cometd.disconnect( true );
} );
var cometURL = location.protocol + "//" + location.host + "/VisionWeb/cometd";
cometd.configure( {
url:cometURL,
logLevel:'debug'
} );
cometd.addListener( '/meta/handshake', _metaHandshake );
cometd.addListener( '/meta/connect', _metaConnect );
cometd.handshake();
} );
}
initFormListener( function() {console.log("cometd success")});
</script>
</head>
<body>
just some content
</body>
</html>
Dojo がサーバー上で動作しないわけではありません。します。私のアプリは dojo 1.7.2 で書かれています
私が知らない既知の問題がありますか、それとも何か間違っていますか?
コールバックが呼び出されない理由を見つける方法についてのヒントをありがとう。