试图从另一个域调用signalR,并不断收到此错误:SignalR:有没有被允许的误差访问控制允许来源
XMLHttpRequest cannot load localhost:62150/signalr/negotiate?_=1362242757692. Origin localhost:4982 is not allowed by Access-Control-Allow-Origin.
这是我想要的代码运行:
$(function() {
jQuery.support.cors = true;
$.connection.hub.url = 'http://localhost:62150/signalr';
$.connection.hub.start()
.done(function() { alert("Now connected!"); })
.fail(function() { alert("Could not Connect!"); });
});
jQuery和jquery.signalr.js加载中为localhost:62150/signalr /集线器与JS响应为localhost:62150/signalr /集线器/谈判_ = 1362243021215返回JSON我办这个吗?浏览器 - 所以它不是缺少脚本或无效路径问题。
我已经试过什么:
- http://coding4life.wordpress.com/2012/03/30/making-cross-domain-calls-in-signalr/ (设置jQuery.support.cors和$ .connection.hub.url)
- 添加自定义页眉在web.config中以“访问 - 控制 - Allow-Origin“value =”*“ (这只适用于IIS?)
- 创建一个http模块,该模块将在每个请求中返回此标头。还试图返回实际域名而不是*。
以上所有的组合。
任何人有任何想法我可以尝试什么?
服务应用程序是MVC和WebAPI的组合(不要认为它有任何区别)。 如果我尝试从同一个域的代码 - 它的工作。
?它支持CORS吗? – 2013-03-02 17:05:18
Chrome。我可以通过ajax跨Web调用Web Api,所以是的。 – Evgeni 2013-03-02 18:17:48