試圖從另一個域調用signalR,並不斷收到此錯誤:SignalR:有沒有被允許的誤差訪問控制允許來源
XMLHttpRequest cannot load localhost:62150/signalr/negotiate?_=1362242757692. Origin localhost:4982 is not allowed by 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 /集線器與JS響應爲localhost:62150/signalr /集線器/談判_ = 1362243021215返回JSON我辦這個嗎?瀏覽器 - 所以它不是缺少腳本或無效路徑問題。
我已經試過什麼:
- http://coding4life.wordpress.com/2012/03/30/making-cross-domain-calls-in-signalr/ (設置jQuery.support.cors和$ .connection.hub.url)
- 添加自定義頁眉在web.config中以「訪問 - 控制 - Allow-Origin「value =」*「 (這隻適用於IIS?)
- 創建一個http模塊,該模塊將在每個請求中返回此標頭。還試圖返回實際域名而不是*。
以上所有的組合。
任何人有任何想法我可以嘗試什麼?
服務應用程序是MVC和WebAPI的組合(不要認爲它有任何區別)。 如果我嘗試從同一個域的代碼 - 它的工作。
?它支持CORS嗎? – 2013-03-02 17:05:18
Chrome。我可以通過ajax跨Web調用Web Api,所以是的。 – Evgeni 2013-03-02 18:17:48