即時通訊在JavaScript中是相當新的 這裏是我的外部js文件。JavaScript的方法undefined
(function ($, connection) {
"use strict";
var conn = connection.serverHub;
connection.hub.url = 'http://localhost:51283/signalr';
function trackUser(username, roleid, sessionid, ipaddress) {
var page = document.location.pathname;
conn.server.joinUser(username, roleid, ipaddress, page, sessionid).done();
}
// signalr client method
conn.client.receivedNotification = function (item) {
alert(item);
conn.server.notifiedUser().done();
};
$(function() {
connection.hub.start().done(function() {
trackUser('<%= session("USERNAME")%>', '<%= session("ROLE")%>', '<%= Session.SessionID%>', '<%=Request.UserHostAddress%>');//da attivare solo in produzione
}).fail(function() { alert("failed"); });
}); }(jQuery, $.connection));
,這是我如何調用我的方法
<body>
<script src="http://localhost:51283/Scripts/jquery-1.9.1.min.js"></script>
<script src="http://localhost:51283/Scripts/jquery.signalR-1.0.0-rc2.min.js"></script>
<script src="http://localhost:51283/signalr/hubs"></script>
<script src="myexternaljs.js"></script>
<script>
trackUser('<%= session("USERNAME")%>', '<%= session("ROLE")%>', '<%= Session.SessionID%>', '<%=Request.UserHostAddress%>');//da attivare solo in produzione
</script>
</body>
當我試圖調用trackUser方法和我得到在沒有定義
在那裏我做錯了trackUser?
由於事先
我是怎麼定義它,讓它在signalr中工作呢? – whebz 2013-02-11 15:45:02
我對signalr並不太熟悉,但是我認爲如果你完全像你這樣定義它,它只會用'window.trackUser = function'來代替'function trackUser'。 – 2013-02-11 15:52:12