Javascript 使用signer的AJAX类调用

Javascript 使用signer的AJAX类调用,javascript,asp.net,ajax,signalr,Javascript,Asp.net,Ajax,Signalr,我正在尝试使用SignalR返回搜索结果。在这种情况下,我宁愿不使用AJAX,因为这意味着我必须构建更多的控制器方法等,并且由于我的应用程序基本上是基于SignalR构建的,所以我宁愿只使用它 My Hub方法返回一些联系人,序列化为Json: public string SearchContacts(string search) { return _serializer.Serialize(_db.Contacts_SearchContacts(search.Trim()).Sele

我正在尝试使用SignalR返回搜索结果。在这种情况下,我宁愿不使用AJAX,因为这意味着我必须构建更多的控制器方法等,并且由于我的应用程序基本上是基于SignalR构建的,所以我宁愿只使用它

My Hub方法返回一些联系人,序列化为Json:

public string SearchContacts(string search) {

    return _serializer.Serialize(_db.Contacts_SearchContacts(search.Trim()).Select(o => new Contact(o.FullName,o.ContactId)).ToList());

}
My client方法调用此方法并反序列化结果:

function findMatches (q,contactsHub) {
    findMatches(q) {
        var matches = contactsHub.server.searchContacts(q);
        return JSON.parse(matches);
    };
}
方法调用工作正常,服务器方法运行,客户端返回结果,但结果字符串始终返回为“[object]”。我已经在服务器上检查了结果,序列化的字符串是正确的,所以在返回到客户机的过程中不知何故它丢失了/被篡改了


我错过了什么?

找到了答案。只需使用“完成”功能即可完成:

function findMatches (q,contactsHub) {
    findMatches(q) {
        contactsHub.server.searchContacts(q).done(function(result) {
            return JSON.parse(result);
        });
    };
}