我試圖找出它是什麼,我在我的方法,這是防止我的WCF服務被訪問。如果我嘗試通過來自同一個域的AJAX請求訪問服務,則沒有問題。jQuery與ASP.NET的AJAX CORS WCF服務不工作,儘管web.config條目
我已將我在網站上其他地方看到的建議添加到web.config中的<httpProtocol>
標記中,以啓用CORS,但似乎並不奏效(請注意前幾個元素在customHeaders是有不同的安全原因):
<location path="FooBar.svc">
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Request-Method" value="POST"/>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type, X-Requested-With, X-Custom-Header" />
</customHeaders>
</httpProtocol>
</system.webServer>
</location>
儘管在地方這之中,我還得到一個錯誤時,試圖從一個單獨的頁面調用服務(使用IE開發者工具):「對XMLHttpRequest的.. 。需要跨源資源共享(CORS)「
我的jQuery ajax調用(Post)的值設置爲與CORS一起使用:
crossDomain: true,
xhrFields: { withCredentials: true },
我甚至嘗試添加潛在IE XDR問題一個解決方法,https://github.com/jaubourg/ajaxHooks/blob/master/src/xdr.js,有沒有效果(我使用IE11,所以我不希望它)
任何人有任何想法至於這裏可能會出現什麼問題?
(編輯:服務本身設置爲與這些屬性,如果有差別:
[OperationContract]
[WebInvoke(Method = "POST",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json)]
)
(編輯2:如果它是有意義的,該服務必須是部分的所有HTTPS站點使用表單身份驗證 - 並且該服務需要使用與站點相同的登錄憑據。)
您是否嘗試過使用類似郵遞員的服務調用服務?您能否在http響應頭文件中看到Access-Control-Allow-Origin? –
不幸的是,我不能在我的工作機器上安裝任何東西,所以我必須等待拜占庭式的過程,請求它通過,然後才能獲得任何有用的工具(並且該服務不可用外面呢)。我希望能夠在這方面取得突破。 – notnot
後端服務器PLZ? – Akki619