2012-04-01 123 views
0

我可能失去了一些東西,但直到現在還沒有弄明白。我有一個MVC應用程序,它監聽Web默認端口(即80),在與用戶交互結束時,它發送一個Ajax post請求(使用jquery)到一個WCF 4 REST服務,它偵聽港口90,可悲的是,我不允許這樣做,因爲brower同源的政策安全問題。跨域阿賈克斯發帖請求

我讀到Chrome,Safari和Firefox默認支持跨域請求的CORS協議。

在我的服務器中,我在響應頭中添加了以下內容:Access-Control-Allow-Origin,Access-Control-Allow-Methods,Access-Control-Allow-Headers和Access-Control-Max-Age。

從我看到的所有cors插件處理microsoft xdr對象並且不會更改xhr的默認行爲。

任何幫助將appriciated,

感謝,

羅恩

+0

添加'接入控制允許Origin'頭應該工作,它必須從服務偵聽端口90發送(以確保公正)。 – stewe 2012-04-02 06:53:09

回答

0

嘿stewe感謝您的答覆,添加標題到服務響應沒有做的伎倆。 但以下(科爾斯解決方案):

a)我正在使用jquery v 1.5.1,並發現有人報告與跨域請求相關的錯誤,這在以後的版本中已修復。

b)在Web服務的配置,我decalred如下:

<httpProtocol> 
    <customHeaders> 
    <add name="Access-Control-Allow-Origin" value="*"/> 
    <add name="Access-Control-Allow-Headers" value="Content-Type"/> 
    </customHeaders> 
</httpProtocol> 

這SLN相關僅適用於支持CORS協議(即不是IE)的,我們可以用easyxdm瀏覽器。

最終,我決定不把我的服務暴露給用戶,而是通過用戶界面。

感謝,

羅恩