1

SignalR JSONオブジェクト(複雑なオブジェクト)をクライアントに渡そうとしています。クライアントはそれを受信して​​おり、IEでネットワークアナライザーを見ると、形式は正しく、データはそこにありますが、実際にクライアントのデータを取得することはできません。JQuery JSON parsngを使用してみましたが、JSON.parseを機能させようとしています。

これがクライアントの私のコードです:

// Build connection to hub and wire it up
        var subscriber = $.connection.subscriberHub;


        subscriber.getMessage = function (data) {

            alert("Message Recieved: " + data);
            var parsedObject = JSON.parse(data);
            alert("Object parsed");
            alert(parsedObject.Site);
            alert("Passed everything without error");
        };

        $.connection.hub.url = "http://localhost:8083/signalr";
        $.connection.hub.start();


    });

サーバー私はClients.getMessage(signalRObject)を実行しています。

データを取得すると、最初のアラートはデータを[object Object]として表示するので、JSONオブジェクトを解析するところまでは問題ないと思います。

誰かがデータを取得するための適切な方法を教えてもらえますか?

4

2 に答える 2

1

私はあなたがうまくやっていると思いますが、サーバー上のJsonデータプロパティがクライアント側で同じ名前で使用されていることを確認してください。つまり、jsonを次のように返す場合です。

{メッセージ:'こんにちは'、SiteUrl:'www.mysite.com'}

次に、jsonオブジェクトをシリアル化した後、クライアント側で次のように記述できます。

alert(parsedObject.SiteUrl);

于 2014-11-30T20:16:01.647 に答える
0

この質問を忘れてください..SignalRがそれを真のJSONオブジェクトとして渡していることがわかり、data.Property1を実行することで簡単に使用できます。

于 2012-09-06T15:17:06.383 に答える