我正在使用Domino作爲後端的AngularJS應用程序。由於我想要比Domino Access Services(DAS)提供的更多定製選項,我的下一個選擇是來自擴展庫的REST服務。Domino,CORS和OPTIONS請求
該應用程序在Domino的獨立域上運行,因此我需要添加CORS標頭才能使該方案正常工作。使用CORS,瀏覽器(對於某些請求)首先向服務器發出預檢HTTP OPTIONS請求,以檢查允許哪些方法(更多CORS在此處:http://www.html5rocks.com/en/tutorials/cors/)。
我現在遇到的問題是Domino在該OPTIONS請求上拋出Method Not Allowed
錯誤(響應代碼405)。我已經將它添加到我的Internet站點文檔中允許的方法列表中(儘管我不確定REST服務是否會遵守這些方法)。請求通過DAS罰款。
查看擴展庫中的RestDocumentJsonService
的source code似乎根本不支持OPTIONS方法。
有關如何使這項工作的任何想法?或者爲了解決方法?我知道我可以編寫自己的servlet或在Domino前安裝一個代理,但我不想走那條路線(還;-)
你有什麼頭試圖將POST請求的內容類型覆蓋爲'application/x-www-form-urlencoded','multipart/form-data'或'text/plain'?這可以防止瀏覽器發送預檢請求。 –
這不起作用(對於'xe:restService'組件):它會拋出一個錯誤,指出Content-Type必須是「application/json」(對於POST請求以及PUT和PATCH)。 –
如果你真的想在RestDocumentJsonService中添加OPTIONS方法,你可以擴展它只覆蓋你需要的東西,然後在Extension Library的Rest服務 –