为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 AJax 调用的回调中连接到 signalR 服务器并将我的客户端方

如何在 AJax 调用的回调中连接到 signalR 服务器并将我的客户端方

守着一只汪 2022-06-09 11:27:49
这是我的工作代码:$(function() {  $.connection.hub.url = 'sampleUrl';  $.connection.hub.start().done(function() {    var uid = settingInvoiceUID;    if (uid !== '')      $.connection.notifyHub.server.registerInHub(uid);  });  $.connection.notifyHub;  $.connection.notifyHub.client.updateClient = function(gInfo) {    alret('blah blah blah');  }});我想以这种方式使用它,一切都会正常工作,只是服务器无法updateClient在此代码中调用此方法:$("[id*='qrCodeImage']").click(function() {  var postUrl = '/sample.aspx/SetAsScanned';  var postedData = "{data: '" + settingInvoiceUID + "'}";  $.ajax({    type: 'POST',    url: postUrl,    dataType: 'json',    data: postedData,    contentType: "application/json; charset=utf-8",    success: function(data) {      var result = JSON.parse(data.d);      if (result.IsSuccess) {        $.connection.hub.url = 'sampleUrl';        $.connection.hub.start().done(function() {          var uid = settingInvoiceUID;          if (uid !== '')            $.connection.notifyHub.server.registerInHub(uid);        });        $.connection.notifyHub;        $.connection.notifyHub.client.updateClient = function(gInfo) {          alret(gInfo);        }      });  });是否可以在回调中设置所有 SignalR 代码,包括连接和集线器注册以及 clientMethod?
查看完整描述

1 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

   $.getScript(settingSignalRServerPath + "/hubs", function () {

    $.connection.hub.url = settingSignalRServerPath;

    // Declare a proxy to reference the hub.

    simpleHubProxy = $.connection.notifyHub;

    //Register to the "updateClient" callback method of the hub

    //This method is invoked by the hub

    simpleHubProxy.client.updateClient = function (gInfo) {

        checkTransactionAndRedirectToMerchant(gInfo);

    }

    $.connection.hub.start()

        .done(function () {

            var uid = '12345';

            $.connection.notifyHub.server.registerInHub(uid);

        })

        .fail(function () {

            console.log('creating conn failed')

        });

});

最后我做到了。您可以将整个代码复制到在回调中调用的方法:D


查看完整回答
反对 回复 2022-06-09
  • 1 回答
  • 0 关注
  • 120 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信