所以我已经阅读了之前的所有问题,但是按照这些步骤似乎并不适合我。我得到了“Access-Control-Allow-Origin不允许原点*”,但这对我没有意义。如果我在Chrome的自带标签中打开相同的请求,并查看网络标签,我会看到以下CORS标头完好无损。此外,集线器生成就好了。我正在使用Web API,.NET 4.5和SignalR的rc2。我还尝试删除web.config中的Allow-Credentials,但这也没有帮助。
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:x-requested-with,X-CustomAuth,Content-Type,X-Impersonate
Access-Control-Allow-Methods:GET,OPTIONS,PUT,DELETE,HEADER
Access-Control-Allow-Origin:*
我还将jQuery.support.cors
设置为true
,即使它已经是真的,我正在使用JQuery 1.9,这是我与服务器和集线器的连接:
jQuery.support.cors = true;
$.connection.hub.url = 'http://myserver/api/signalr';
$.connection.hub.start({ transport: 'longPolling', xdomain: true });
我也尝试过连接,两者都有同样的问题。
$.connection('http://myserver/api/signalr/echo').start(function () {
console.log('Connected');
$.connection.hub.start().done(function() {
$log.info('Connected to hub.');
});
});
答案 0 :(得分:0)
如果*
为Access-Control-Allow-Origin
,则Access-Control-Allow-Credentials
值不能与true
标头一起使用。请尝试以下任一操作:
Access-Control-Allow-Origin
的值从*
更改为Origin
标题的实际值。#1可能更容易,但如果您需要支持cookie,则需要#2。
答案 1 :(得分:0)