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 对象后,您可以编写:

警报(parsedObject.SiteUrl);

于 2014-11-30T20:16:01.647 回答
0

忘记这个问题..事实证明 SignalR 将其作为真正的 JSON 对象传递,并且通过执行 data.Property1 很容易使用它

于 2012-09-06T15:17:06.383 回答