星期四, 7月 11, 2013

不是 Cross-origin resource sharing 難,而是⋯⋯

整理幾個最近遭遇的問題:
  1. Microsoft IE 11.0.9431.0 在 localhost 但 port 不同的情況下,認為這不算跨域,沒作預檢(preflight),直接發送真正需要的 Request。
  2. Google Chrome 28.0.1500.71 即使預檢失敗,仍會發送真正需要的 Request。
  3. Microsoft IIS 8 即使未設 Access-Control-Allow-Methods,仍接受 GET、OPTIONS。
  4. System.Web.Http.ApiController 的子類別最好多寫一個空的方法「public void Options() { }」,否則 Firefox 預檢失敗,就不發送真正需要的 Request 了,雖然這是最標準的,但讓我誤會了好幾個小時,以為怎麼 IE 10、Chrome 都正常,唯獨 Firefox 不行?

沒有留言:

張貼留言