带有jquery mobile的signalR导致很多问题

时间:2015-10-19 06:44:34

标签: javascript jquery asp.net jquery-mobile signalr

我是jquery mobile和signalR的新手,我正在尝试为我的移动应用添加呼叫功能(主要使用jq mobile和js构建),我收到此错误

http://localhost:2286/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22callhub%22%7D%5D&_=1445088108694"

这是我的startup.cs的布局

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
       // app.MapSignalR<EchoConnection>("/echo");
        //app.MapSignalR();
        app.MapSignalR("/Chat", new HubConfiguration());
    }
}

有时我也会收到此错误:

GET http://localhost:2286/6836b6171ec44d63b5d7a9aa110a5fa1/arterySignalR/ping?r…%2FApp%2Findex.html%23p-choices&browserName=Chrome+(Linux)&_=1445089928688 404 (Not Found)

单击事件在我的集线器内部无效。 我被困在过去四天的signalR和点击能力问题之间。 点击我使用onclick =&#34; somefunction()&#34;但是这开始给我另一个错误,说hub.start()。done应该在发送之前被调用。我试图改变我的集线器Url,但这没有帮助, 如果你们有任何想法,那么请出面帮助我。

<script src="Js/jquery.js"></script>
<script src="Js/jquery.signalR-2.2.0.min.js"></script>
<script src="/Chat/hubs" type="text/javascript"></script>
<script src="Js/jquery.mobile-1.4.5.js"></script>
<script type="text/javascript">
$.connection.hub.url = "http://localhost:2***7/signalr";
callHub = $.connection.callHub;
$.connection.hub.start().done(function () {               
                $(document).on('click', '#btnCallUserAudio', function () {

                            // do something.....
                        });
                  });

</script>
<body>
   <div data-role="page" id="p-page1">
        <div data-role="main" class="ui-content ui-body-cf ui-responsive">
             <button id="btnCallUserAudio" type="button" class="ui-btn ui-btn-inline wd90 callingBtns" style="" ></button>
          </div>

        <div data-role="footer" data-theme="ce">

    </div>
      <div data-role="page" id="p-page2">
        <div data-role="main" class="ui-content ui-body-cf ui-responsive">

          </div>

        <div data-role="footer" data-theme="ce">

    </div>
        .
        .
        .
        .
        many more pages


  </body>

编辑: - 我在google上搜索了我的问题,并尝试了此链接中提到的内容 -  &#34; SignalR not always ready after start().done()?&#34; 我添加了setTimeOut()和&#34; $ .connection.hub.logging = true;&#34;但它仍然无法正常工作,在控制台中显示下面提到的蓝色东西 - &#34; [格林威治标准时间12:16:32 + 0530(印度标准时间)] SignalR:客户订阅了hub&#39; callhub&#39;。 [格林威治标准时间12:16:32 + 0530(印度标准时间)] SignalR:与&#39;谈判/协商?clientProtocol = 1.5&amp; connectionData =%5B%7B%22name%22%3A%22callhub%22% 7D%5D&#39 ;. &#34;

它在网站部分也显示了相同的内容,但它的工作正常。

1 个答案:

答案 0 :(得分:0)

经过谷歌搜索后我没有找到任何有用的东西,但是使用“$ .connection.hub.logging = true;”在我的两个项目(即jq手机和网站)中我都知道我在手机和网站部分使用哪些版本的signalR javascript文件,在那里我看到我在网站部分使用旧版本的signalR,更换后来自我的移动部分的signalR与来自网站的signalR ...它开始运作良好。 现在我的项目工作正常,但我不知道为什么它没有使用最新版本,所以任何有关这方面的帮助将不胜感激。