gpt4 book ai didi

javascript - SignalR:未捕获类型错误:无法读取未定义的属性 'chat'

转载 作者:行者123 更新时间:2023-12-03 23:12:55 25 4
gpt4 key购买 nike

带有 Bootstrap 的 VS 2013 WebForms 模板。我有

<script src="/Scripts/jquery-2.0.3.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.signalR-2.0.0.min.js" type="text/javascript"></script>
<script type="text/javascript" src="/signalr/hubs"></script>

(用于尝试 signalr/hubsResolveClientUrl("~/signalr/hubs") 等...)

<script type="text/javascript">
$(function () {
// Proxy created on the fly connection
var chat = $.connection.chat;

我曾经尝试过各种变体,并且曾经搜索过很多关于这个问题的信息,但现在仍然找不到解决方案。当我检查加载的页面源并单击 signalr/hubs 时,我可以看到那里加载了代理,我也可以在那里看到聊天。

但我仍然收到 Uncaught TypeError: Cannot read property 'chat' of undefined

  • 如何调试它?
  • 为什么会这样?

最佳答案

如果 $.connection 未设置,则 jquery.signalR-*.min.js 中的 SignalR 初始化代码未运行或至少未按预期完成。一个可能的原因可能是页面上包含多个 jQuery 版本(VS 模板添加了一个引用,因此如果您手动添加另一个版本,这可能就是问题所在)。在那种情况下,SignalR 在其中设置自身的 window.$ 实例只是被第二个 jQuery 初始化脚本替换,该脚本再次设置 window.$。如果不是这样,您应该尝试用未缩小的版本替换缩小的 SignalR 脚本。然后在代码的开头设置断点(例如,在匿名函数中使用“use strict”的第一行),以及 $.connection = $.signalR = signalR; 或类似(接近尾声)。

如果两者都没有命中,那么脚本根本找不到。如果第一个被击中,但第二个没有被击中,则存在其他问题 - 您可以从那里向后追踪它。可能是您创建集线器的方式有问题,也可能是其他配置问题。

关于javascript - SignalR:未捕获类型错误:无法读取未定义的属性 'chat',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20324806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com