signalr - SignalR 在 Firefox 和 IE 中不起作用,但在 Chrome 中不起作用
问题描述
我是 Signalr 的新手。
我的项目需要在员工更新时立即更新并向用户显示促销代码。这在 Google Chrome 中运行良好,但在 Firefox 和 IE 中运行良好。没有任何错误显示给我。
这是我的代码:
$(function () {
var hubNotify = $.connection.PromoCodeHub;
$.connection.hub.start().done(function () {
getData();
});
hubNotify.client.displayPromoCode = function () {
getData();
};
$.connection.hub.disconnected(function ()
{
setTimeout(function ()
{
$.connection.hub.start().done(function ()
{
getData();
});
}, 3000);
});
});
这是我的startup.cs
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(MyProject.Startup))]
namespace MyProject
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
}
谷歌浏览器:更新促销代码时没有问题。
FireFox & IE:当页面完全加载时,它将运行 $.connection.hub.start().done()。其余的都行不通。
非常感谢您的帮助。谢谢。
解决方案
如果我没记错的话,您需要在开始之前至少声明一个客户端方法,如下所示。不确定不同的浏览器行为。
var hubNotify = $.connection.PromoCodeHub;
hubNotify.client.displayPromoCode = function () {
getData();
};
$.connection.hub.start().done(function () {
getData();
});
推荐阅读
- javascript - 如何将 csv 文件从 django 中的静态文件加载到 javascript 函数中
- python - 如何在bash脚本或python中将时间码(hh:mm:ss:frame)计算为毫秒或秒
- java - 这个 Java 线程锁定概念不好吗?
- python - 使用 Beautifulsoup Python 获取 div 中的第一个链接
- python - 如何使用 Python 从数据框中删除“=-inf”?
- flutter - Flutter 和存储数据
- python - 是否可以在 tkinter 中有一个清晰/透明的标签?
- javascript - ES6:重新定义导出函数
- python - Numpy.around() 将 ndarray len 45 转换为 ndarray len 1
- reactjs - react导航中获取标签导航器当前活动屏幕路径