2013-02-06 296 views
2

我有一個用於創建聊天的已用過的SignalR。它完美的作品,但是當我在母版頁使用它 它提供了以下錯誤未捕獲TypeError:無法讀取未定義的屬性'聊天'

Uncaught TypeError: Cannot read property 'chat' of undefined 
(anonymous function) 
fire 
self.fireWith 
jQuery.extend.ready 
DOMContentLoaded 

的錯誤在於在:

<script type="text/javascript"> 
    $(function() { 
     var chat = $.connection.chat; 
**Uncaught TypeError: Cannot read property 'chat' of undefined** 

     $.connection.hub.start({ transport: 'auto' }, function() { 
     //alert('connected'); 
     $('#MainContent_connected').text('Connected to chat room'); 
     }); 

     $("#broadcast").click(function() { 
     chat.send($("#MainContent_userName").text() + $("#msg").val()); 
     $("#msg").val('') 
     }); 

     /* Declaring the Function on the chat hub in order for the server to 
     be able to invoke it. */ 
     chat.addMessage = function (message) { 
     $('#messages').append('<li>' + message + '</li>'); 
     }; 
    }); 
    </script> 

關於如何解決此問題的任何想法?

+0

你有包含的jQuery兩次? – davidfowl

+0

起初我沒有。我只有在Master Page上,我得到了3個其他錯誤,但是當我在文件夾中的頁面上包含src後,這是唯一的錯誤 – Niaris

+1

當jQuery包含兩次時,這個錯誤是100%。這就是說$ .connection本身是未定義的。這意味着SignalR的jQuery插件甚至沒有正確加載。 如果你得到這個錯誤,那麼你有jQuery包含兩次。 – davidfowl

回答

0

確保你包括腳本標籤:<script src="signalr/hubs"></script>

這個動態代理(「signalr /中心」)是什麼構成了.chat財產關閉的$■連接

+0

感謝您的回答!我已經使用了兩個:'<%= ResolveClientUrl(「〜/ signalr/hubs」)%>'和src =「signalr/hubs」>但仍然沒有任何結果。它似乎在Web應用程序的公共頁面上工作,但不在「管理」頁面上工作 – Niaris

+0

管理頁面是否在不同的域上? –

+0

他們只是有不同的訪問規則,他們躺在不同的文件夾(我相信這是問題),但最後我剛創建了一個chat.aspx,在引用聊天的母版頁上添加了iframe,並以某種方式找到了解決方案就此而言 – Niaris

相關問題