我是php / js开发人员,不了解c#/ asp,试图首次与SignalR API对话
我尝试从官方SignalR页面使用此客户端库
https://github.com/SignalR/SignalR/wiki/SignalR-JS-Client
这是我的代码
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.signalr-2.2.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$.connection('https://firouzex.exphoenixtrade.com/realtime').start()
.done(function(){
console.log('connection done!')
})
.fail(function(){
console.log('error!');
});
});
</script>
但是我得到了
Access to XMLHttpRequest at 'https://firouzex.exphoenixtrade.com/realtime/negotiate?clientProtocol=1.5&_=1560862133617' from origin 'http://localhost' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource
答案 0 :(得分:2)
这似乎是服务器端如何设置Signalr的问题。如果可以访问,可以尝试吗?
public void Configuration(IAppBuilder app)
{
app.Map("/signalr", map =>
{
map.UseCors(CorsOptions.AllowAll);
var hubConfiguration = new HubConfiguration { };
map.RunSignalR(hubConfiguration);
});
}
答案 1 :(得分:-1)
由于不建议使用Bower本身,因此不建议使用SignalR的Bower软件包。请考虑迁移到Yarn或NPM(根据Bower团队的建议) 这写在您使用的signalR Bower软件包上。
您可以通过在浏览器中添加cors扩展名来解决CORS问题,但建议您考虑改用https://github.com/SignalR/SignalR/wiki/SignalR-JS-Client。
希望这会有所帮助。