2017-11-30 26 views
0

何らかの理由でこれが機能するはずです。私は何かが欠けているように感じますが、わかりません。 jquery側でデータを返すことができます。 Angularjs側で私はサーバーに送ることができますが、クライアントは元気づけられないようです。私もanglejs側で接続をテストし、それが開始するようです。何らかの理由でjqueryファイルのように返されたデータが表示されません。提案してください。Angularjs SignalR接続が動作しない

jQueryが

$(function() { 
 
     $.connection.hub.start() 
 
      .done(function() { 
 
       console.log('SignalR connected, connection id = ' + $.connection.hub.id); 
 
       console.log('Username = ' + '001'); 
 
       $.connection.messageHub.server.connectToMessageHub('001'); 
 
      }) 
 
      .fail(function (data) { 
 
       console.log('SignalR failed to connect: ' + data); 
 
      }); 
 
    
 
     $.connection.messageHub.client.reloadData = function (jsonObject) { 
 
      console.log("data invokes called"); 
 
      console.log('get data=', jsonObject); 
 
    
 
     }; 
 
     
 
    }); 
 
     $.connection.hub.start().done(function() { // initiate connection 
 
     }); 
 
    });

AngularJSは動作しませんクライアント上で動作します。私はサーバーにメッセージを送ることができますが、クライアントは起動していないようです。

$scope.dataHub = null; 
 
    $scope.dataHub = $.connection.messageHub; 
 

 
     $.connection.hub.start(); // starts hub 
 
// never makes it after start. 
 
     $scope.dataHub.client.reloadData = function (message) { 
 
      var newMessage = 'name' + ' says: ' + message; 
 
      console.log('test', message); 
 
    
 
      $scope.AllItems.push(newMessage); 
 
      $scope.$apply(); 
 
     };

$.connection.hub.logging = true; 
    $.connection.hub.start().done(function() { 
     console.log('Your Hub started Sucessfully.'); 
    }); 

    $scope.dataHub = function() { 

     $scope.hub = $.connection.alertUser; 

     $scope.notify = function() { 
      console.log('loaded'); 
      $scope.hub.client.reloaddata = function (name) { 
       console.log('loaded=', name); 

       $scope.$apply(function() { 
        $scope.AllItems.push(name); 
       }); 
      } 
      $.connection.hub.start(); 
     } 
     $scope.notify(); 





    } 

答えて

0

私はあなたのコードの下に参照することができ、あなたが正しいハブのURLを提供するかどうかということを確認していません。 は、私は私のApp.configファイルのコードの下に追加していると私はあなたがすることができるなら、私は他の賢明な私は一つのサンプルを共有することを知ってみましょう

// create the module and name it signalRApp 
var signalRApp = angular.module('signalRApp', ['ngRoute', 'ngMaterial', 'ngAnimate', 'timer']); 
// configure our routes 

$.connection.hub.url = 'http://localhost:44444/signalr'; 

hub = $.connection; 

signalRApp.config(function ($routeProvider, $locationProvider) { 
    $routeProvider 
     // route for the home page 
     .when('/', { 
      templateUrl: 'app/template/index.html', 
      controller: 'AlertCtrl' 
     }); 


    $locationProvider.hashPrefix(''); 
}); 
// create the controller and inject Angular's $scope 
//This should be your bootstraper of main controller of your application. 
signalRApp.controller('mainController', function ($scope,$rootScope,$timeout) { 
    // create a message to display in our view 
    $rootScope.enableLoadingImage = false; 
    // Pass your hub name 
    $rootScope.hub = hub.messageHub; 

    $rootScope.Message = []; 
    $scope.uniqueIds=[]; 

    $rootScope.hub.client.reloaddata = function (item) { 


     console.log('we got pointer here!!') 

    } 



}); 

エンごにてご確認下さいにとっては素晴らしいウォーキングれる その周りにプロジェクト。

+0

私のために働いていない@Riyaj Shaikh – Sevensnake77787

+0

接続は成功です。私はデータを投稿した後。私は帰りに何も得ることができません。私はコンソールを追加し、それはclient.reloaddataを渡すことはありません。とてもイライラします。それは動作するはずですが、動作しません。私はSignalrのURLだけクライアントを渡すことはできません。私は私が試みたものの上にスニペットを追加しました。 – Sevensnake77787

+0

@/sevensnake77787答えを更新しました。あなたが他の賢明なやり方をすることができれば、私はその周りに1つのサンプルプロジェクトを共有します。 –

関連する問題