別のドメインからsignalRを呼び出そうとすると、次のエラーが発生し続けます。
XMLHttpRequestはlocalhost:62150 / signalr / negotiate?_=1362242757692をロードできません。Origin localhost:4982は、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 / HubsがJSで応答し、localhost:62150 / signalr / Hubs / negotiate?_ = 1362243021215は、これをブラウザーで実行するとJSONを返します。無効なパスの問題。
私が試したこと:
- http://coding4life.wordpress.com/2012/03/30/making-cross-domain-calls-in-signalr/(jQuery.support.cors と$ .connection.hub.urlの設定)
- 「Access-Control-Allow-Origin」value="*"を使用してweb.configにカスタムヘッダーを追加します(これはIISでのみ機能しますか?)
- すべてのリクエストでこのヘッダーを返すhttpモジュールを作成します。また、*の代わりに実際のドメイン名を返そうとしました。
そして、上記のすべての組み合わせ。
誰かが私が他に何を試すことができるか考えていますか?
サービングアプリはMVCとWebAPIの組み合わせです(違いはないと思います)。同じドメインからそのコードを試している場合、それは機能します。