我正在尝试在angularJS中实现signalR, 我想将相对网址传递到集线器连接,但是它正在生成当前网址(托管我的angular应用程序的网址)
我的API基本网址:Map
我的角度应用程序在
上运行http://localhost:81/NrsService/api/TestSignal
这是我的signalR设置:
http://localhost:81
就像它在$.connection.hub.url = "/NrsService/api/TestSignal";
//Getting the connection object
connection = $.hubConnection();
发送请求,但我希望它是http://localhost:81/signalr/negotiate?
答案 0 :(得分:0)
您必须编辑在定义客户端代理的位置生成的JavaScript代码。从SignalR 2.4.0开始,定义了createHubProxies函数,您可以在其中找到以下代码行:
signalR.hub = $.hubConnection("/signalr", { useDefaultPath: false });
将其更改为以下内容以防止“ / signalr”以您的请求结尾:
signalR.hub = $.hubConnection("", { useDefaultPath: false });
此后,您只需更改网址即可,该网址应称为您在问题中提供的方式,例如:
$.connection.hub.url = "/NrsService/api/TestSignal";
如果您还想动态更改此Url,则可以使用document.location属性。就我而言,我做了这样的事情:
var subPath = document.location.pathname.substr(0, document.location.pathname.lastIndexOf("/"));
$.connection.hub.url = subPath; // subpath equals to "/NrsService/api"
希望这会有所帮助。