daf*_*key 1 javascript signalr
我正在尝试在一个对象appHub中编写一个函数,该函数将调用服务器上的方法。这是我的代码:
var connection = $.hubConnection();
var appHubProxy = connection.createHubProxy('appHub');
var appHub = {
//some methods here
invoke: function(){
appHubProxy.invoke.call(arguments);
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,该invoke方法应该像这样调用:
appHub.invoke('serverMethod', arg1, ..., argN)
运行此代码时出现此错误:
未捕获的类型错误:无法读取未定义的属性“_”
我试过了appHubProxy.invoke(arguments),它不会抛出错误,但当然,永远不会调用服务器方法。
如何正确地将参数传递给 SignalR 的 invoke 方法?
两个问题:
Function.prototype.callor 时Function.prototype.apply,您需要传递的第一个参数是上下文( 的值this)apply而不是call在您的代码中,您使用数组作为上下文调用 invoke 方法。invoke 方法正在寻找this.connection._数组中不存在的嵌套属性(可能是 for ),因此这就是您收到错误的原因。
所以你可能想改用这个:
appHubProxy.invoke.apply(appHubProxy, arguments);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3636 次 |
| 最近记录: |