2012-09-06 103 views
0

试图将SignalR JSON对象(复杂对象)转移到客户端。客户端正在接收它,并且在IE中查看网络分析器时,格式看起来正确并且数据存在,但我无法真正获取客户端中的数据。我尝试使用JQuery JSON解析,现在我试图让JSON.parse工作。无法将SignalR Json转换为客户端javascript

这是我在客户端代码:

// 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)。

当我获取数据时,第一个警报显示数据为[对象对象],所以我认为我很好解析JSON对象。

有人可以告诉我正确的方式来获取数据。

回答

1

我认为你正在做的很好用的,但要确保在JSON数据属性服务器与客户端侧相同的名字时,我的意思是,如果你返回JSON为:

{消息:“你好”,主页:“www.mysite.com”}

然后在客户端在序列化json对象之后,您可以编写:

alert(parsedObject.SiteUrl);

0

忘记这个问题..原来,SignalR被传递ASA真正的JSON对象,它很容易被做data.Property1