2016-05-08 3 views
3

Кажется, я не могу найти приложение для примера. Я пытаюсь запустить простое приложение для начинающих 101, которое делает не что иное, как лог-файл для консоли.Начало работы с cfwebsocket

У меня есть каталог cfws на моем веб-сайте C:\inetpub\wwwroot, и я работаю в C:\inetpub\wwwroot\site\.

Я включил веб-сокетов в cfadmin, с опцией "использовать прокси", порт 8579.

Код я бегу это:

index.cfm:

<html> 
    <head> 
     <title>Example One</title> 
     <script language="javascript"> 
       function messageHandler(msg) { 
        console.log("messageHandler Run"); 
       console.dir(msg); 
       } 
     </script> 
    </head> 
    <body>  
     <h1>Example One</h1>  
    </body> 
</html> 

<cfwebsocket name="myWS" onMessage="messageHandler" subscribeTo="news"> 

Application.cfc

component { 
    this.name="cfwack2_1"; 
    this.wschannels = [{name:"news"}]; 
} 

Я запустил код, и ошибок нет, но я не вижу ожидаемого d войдите в консоль.

До сих пор каждое примерное приложение, которое я пробовал, делает пять восьмых ничто. Любая помощь оценивается.

+0

Я ничего не знаю о веб-сайтах, но ваш javascript выглядит подозрительно. Функция messageHandler ожидает аргумент, но событие onMessage вашего тега cfwebsocket вызывает его без него. –

ответ

0

Возможно, у вас может быть опечатка в вашем приложении Application.cfc. По словам the docs here, он должен выглядеть следующим образом:

component { 
    this.name="cfwack2_1"; 
    this.wschannels=[{name="news"}]; 
} 

An = (знак равенства) вместо : (толстой кишки) после name.

В документации также показано, что функция JavaScript должна принимать событие и значение токена. Вот пример из документации.

<script type="text/javascript"> 
    function mymessagehandler(aevent, atoken) 
    { 
     var message = ColdFusion.JSON.encode(atoken); 
     var txt=document.getElementById("myDiv"); 
     txt.innerHTML +=message +""; 
    } 
</script> 

<cfwebsocket name="mycfwebsocketobject" onmessage="mymessagehandler" subscribeto="news"> 
<cfdiv id="myDiv"></cfdiv> 
+0

Приятная попытка, но это не помогло. – user460114

+0

В документации, на которую я ссылаюсь, также показано, что функция javascript ожидает атрибута токена. Вы пробовали это? Я верну свой ответ на примере. –