Jas*_*son 19 javascript cross-domain signalr
我试图让一个超级简单的集线器连接跨域工作,但没有运气.我已经阅读了几十篇文章并完成了所有提到但仍然没有成功的帖子.
我的服务器中心在这里
public class ChatHub : Hub
{
public void Send(string name, string message)
{
Clients.All.broadcastMessage(name, message);
}
}
Run Code Online (Sandbox Code Playgroud)
我的服务器MapHubs调用在这里
RouteTable.Routes.MapHubs(new HubConfiguration { EnableCrossDomain = true });
Run Code Online (Sandbox Code Playgroud)
我的任何javascript客户端都在这里
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script src="~/Scripts/jquery-2.0.1.min.js"></script>
<script src="~/Scripts/jquery.signalR-1.1.2.min.js"></script>
<script src="/signalr/hubs"></script>
</head>
<body>
<div class="container">
<input type="text" id="displayname" value="Test" />
<input type="text" id="message" value="I'm here" />
<input type="button" id="sendmessage" value="Send" />
</div>
<script type="text/javascript">
$(function ()
{
$.connection.hub.url = 'http://<my url>/';
var chat = $.connection.chatHub;
alert(chat);
$.connection.hub.start().done(function ()
{
alert("Connection succeeded");
}).fail(function ()
{
alert("Connection failed");
});
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
问题是它永远不会到达Connection成功或失败的警报,并且alert(chat)调用返回undefined.
我已经为$ .connection.hub.url行尝试了几种组合
$.connection.hub.url = 'http://<My url>';
$.connection.hub.url = 'http://<My url>/';
$.connection.hub.url = 'http://<My url>/signalr';
$.connection.hub.url = 'http://<My url>/signalr/';
Run Code Online (Sandbox Code Playgroud)
Chrome和Firebug中的开发者控制台给我错误
Uncaught Error: SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/hubs'></script>.
Run Code Online (Sandbox Code Playgroud)
在同一个域上它工作正常.这真的开始让我发疯,所以任何帮助将不胜感激.
谢谢你,杰森
N. *_*len 19
您的服务器是跨域托管的,但您正试图从当前域获取集线器.因此,它无法检索集线器文件,并且您实际上没有代理可以使用(这就是为什么一切都不起作用).
所以你有两个选择:
以下是如何使用原始集线器连接API的代码片段:http://www.asp.net/signalr/overview/hubs-api/hubs-api-guide-javascript-client#nogenconnection(第二个代码段).
| 归档时间: |
|
| 查看次数: |
36207 次 |
| 最近记录: |