私はsignalRサーバーキューハブを持っています。SearchResultListItemView ビューでボタンがクリックされたときに、サーバーを起動してサーバーにメッセージを送信しようとしています。しかし、機能せず、「Uncaught TypeError: プロパティ 'queue' を読み取れません」というエラーが表示されます。
これは私の SearchResultListItemView ビューで、クリック イベントが発生したときに signalR サーバーを呼び出す必要があります。クリック時にサーバーに値を送信したいだけです。次に、変更をロードするために他のすべてのクライアントに応答を送信します。これどうやってするの?またはここで何が問題ですか??
window.SearchResultListItemView = Backbone.View.extend({
tagName: "tr",
initialize: function () {
var _this = this;
this.model.bind("change", this.render, this);
this.model.bind("destroy", this.close, this);
// here is the error occured in this line:
var queue = $.connection.queue;
// Start the connection
$.connection.hub.start(function () {
queue.ReloadQueueMember("Hello World!", "hi all");
});
},
events: {
"click a": "JoinQueue"
},
JoinQueue: function (e) {
e.preventDefault();
var name = this.model.get("QueueName");
var Id = this.model.get("CustomerId");
//SignalR Proxy created on the fly
queue.send(name, 'hannan19')
.done(function () {
console.log('Success!')
})
.fail(function (e) {
console.warn(e);
});
},
render: function () {
var data = this.model.toJSON();
_.extend(data, this.attributes);
$(this.el).html(this.template(data));
return this;
}
});
これが私の SignalR サーバーです。
public class Queue : Hub
{
public void Send(string QueueName, string UserName)
{
Clients.ReloadQueueMember(QueueName, UserName);
}
}