带有jquery mobile的signalR导致很多问题
Posted
技术标签:
【中文标题】带有jquery mobile的signalR导致很多问题【英文标题】:signalR with jquery mobile causing lot of problems 【发布时间】:2016-01-17 10:20:19 【问题描述】:我是 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="somefunction()" 但这开始给我另一个错误说 hub.start().done 应该在发送之前调用。我也尝试更改我的中心网址,但没有帮助, 如果你们有任何想法,请出面帮助我。
<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>
编辑:-我在谷歌上搜索了我的问题,并尝试了此链接中提到的内容- "SignalR not always ready after start().done()?" 我添加了 setTimeOut() 和“$.connection.hub.logging = true;”但它仍然无法正常工作,在控制台中它以蓝色显示下面提到的东西 - " [12:16:32 GMT+0530(印度标准时间)] SignalR:客户端订阅了集线器“callhub”。 [12:16:32 GMT+0530(印度标准时间)] SignalR:正在与“/Chat/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22callhub%22%7D%5D”协商。 "
它在网站部分也显示了相同的内容,但它运行良好。
【问题讨论】:
【参考方案1】:在谷歌上进行大量搜索后,我没有找到任何有用的东西,但使用“$.connection.hub.logging = true;”在我的两个项目(即 jq 移动和网站)中,我了解了我在移动和网站部分中使用的 signalR javascript 文件的版本,并且在替换后我看到我在网站部分使用的是旧版本的 signalR来自我的移动部分的 signalR 和来自网站的 signalR ...它开始运行良好。 现在我的项目运行良好,但我不知道为什么它不能使用最新版本,所以任何有关此的帮助将不胜感激。
【讨论】:
以上是关于带有jquery mobile的signalR导致很多问题的主要内容,如果未能解决你的问题,请参考以下文章
带有 phonegap 的 Jquery mobile 不适用于移动应用程序