2013-03-09 6 views
5

私はSignalRクロスドメイン通信を使用してWebアプリケーションを作成しています。私は最新バージョンのSignalR 1.0.1を使用しています。続いてjQueryの文書readyイベント内のコードです:SignalRクロスドメインがIE10以外のブラウザで動作しない

var connection = $.hubConnection(url); 
    var proxy = connection.createHubProxy(hubName); 

    connection.start().done(function() { 
    proxy.invoke('serverMethod'); 
    }); 

私は私のOSは、Windows 7です。これは、IE 10にうまく機能し、動作しないオペラは、Firefox、ChromeとIE 10上でアプリケーションを実行してみました他のブラウザでは私は開発ツールを使ってIEのモードをIE 9に変更し、動作を停止しました。 SignalRバージョン0.5.3を使用すると、すべてのブラウザで同じコードが動作します。

ブラウザの開発ツールでは、「HTTP/1.1 403 Forbidden」というネゴシエーションリクエストの応答として、次のHTTPステータスコードが見つかりました。

ここに何か不足していますか?なぜIE 10以外のブラウザが壊れているのでしょうか?

答えて

12

MapHubsでクロスドメインを有効にしていることを確認してください。

RouteTable.Routes.MapHubs(new HubConfiguration() { EnableCrossDomain = true }); 

ローカルにクロスドメインをテストする場合、IE10には、ローカルホストのポートをクロスドメインではないものとして扱う面白い機能があります。

+0

ありがとうTaylor。出来た! –

+0

新しい方法:http://www.asp.net/signalr/overview/guide-to-the-api/hubs-api-guide-javascript-client#crossdomain – dudeNumber4

関連する問題