我收到了错误
XMLHttpRequest cannot load http://127.0.0.1:8099//negotiate?_=1348566460118. Origin http://localhost:49848 is not allowed by Access-Control-Allow-Origin
如果我运行以下代码
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="Scripts/jquery-1.8.2.js"></script>
<script src="Scripts/jquery.signalR-0.5.3.js"></script>
</head>
<body>
<script type="text/javascript">
jQuery.support.cors = true;
var con = $.connection("http://127.0.0.1:8099/");
$.connection.url = "http://127.0.0.1:8099/signalr";
con.start({ transport: 'auto', xdomain: true }, function () {
console.log('connection started!');
});
</script>
</body>
</html>
答案 0 :(得分:1)
代码有些问题:
1)您缺少对/ signalr / hubs的脚本引用。
在您的情况下,它必须来自自托管服务器。所以你需要添加:
<script src="http://127.0.0.1:8099/signalr/hubs"></script>
2)你的con变量没有指向正确的对象。
而不是
var con = $.connection("http://127.0.0.1:8099/");
应该是
jQuery.support.cors = true;
var con = $.connection.hub;
con.url = "http://127.0.0.1:8099/signalr";
con.start(function() {
console.log('connection started!');
});