0

因此,我已经阅读了有关此问题的所有先前问题,但遵循这些步骤似乎对我不起作用。我收到“Access-Control-Allow-Origin 不允许 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.corstrue,即使它已经是真的,我使用的是 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.');
      });          
    });
4

2 回答 2

0

如果是,则该*值不能与Access-Control-Allow-Origin标头一起使用。尝试以下任一方法:Access-Control-Allow-Credentialstrue

  1. 完全删除 Access-Control-Allow-Credentials 标头。
  2. Access-Control-Allow-Origin将from的值更改为标头*的实际值Origin

#1 可能更容易做到,但如果您需要支持 cookie,则需要 #2。

于 2013-02-13T15:57:54.750 回答
0

根据官方文档,您应该使用jQuery.support.cors

不要在代码中将 jQuery.support.cors 设置为 true。

官方文档链接:official doc

于 2016-11-05T20:21:08.097 回答