2011-08-17 47 views
6

我正在從JSP(從iPad)獲取請求到Servlet(我的系統)。當我將響應發送到JSP時,瀏覽器和iPad應用似乎會丟棄來自代理的數據,原因是缺少標頭。
我設置了標題爲訪問控制在Servlet中允許起源

  response.setHeader("Access-Control-Allow-Origin","*"); 

訪問控制允許來源是頭名從iPad的到來。
我在以下鏈接中看到 http://en.wikipedia.org/wiki/List_of_HTTP_header_fields Servlet中沒有Access-Control-Allow-Origin標頭類型。
由於測試是在不同的地方進行,你能告訴我,我添加的setheader是寫一個。

回答

6

您誤解了WikiPedia條目。在一個servlet中,你可以設置你想要的任何響應頭。唯一的限制是客戶必須能夠理解標題。維基百科列出了根據RFC 2616和4229可用的官方 HTTP頭(請參閱您提供的鏈接)。專有的自定義標頭是合法的並且經常使用。

一般而言,您只需設置Access-Control-Allow-Origin標頭即可處理跨域腳本請求,例如,從domain1.com檢索到的JSP確實對託管於domain2.com的servlet執行客戶端請求(JavaScript,AJAX)。根據您的使用情況,您必須決定是否需要標題。官方規格可用here。你應該仔細閱讀它......相信我!

相關問題