我使用backbone.js的模型。當我保存模型時,它會在Firefox上向服務器端發送HTTP OPTIONS方法,但是會向Safari發送HTTP POST方法。使用Javascript請求的Http選項方法
我知道這不是一個關於backbone.js的問題,它是關於CORS的。我將只檢查服務器端的方法GET,POST,PUT和DELETE,我不會使用HTTP OPTIONS方法執行任務。
我的請求的URL是我的API:api.foo.com 和API從請求:bar.com
所以,我怎麼能在所有瀏覽器的控制要求我api.foo.com與HTTP POST不OPTIONS ? 以及如何與其他域的所有請求共享api.foo.com的內容?
注:我已經從服務器端的響應變化的標頭:訪問控制允許來源:*
那麼,如何設置瀏覽器不檢查服務器會接受請求的條件?它會在每次發佈請求之前檢查?因爲,我希望執行我的JavaScript的每個瀏覽器只發送POST方法到我的服務器端腳本 –
@davit你不能。由於安全原因([CSRF](https://www.owasp.org/index)),跨源請求無法與[原始XHR](http://www.w3.org/TR/XMLHttpRequest/)一起使用。 PHP /交叉Site_Request_Forgery))。 [XHR等級2](http://www.w3.org/TR/XMLHttpRequest2/)使其成爲可能,但要求符合CORS規範。 – Gumbo
@davit儘管GET被稱爲[簡單方法](http://www.w3.org/TR/cors/#simple-method),但是[簡單的跨域請求](http:// www .w3.org/TR/cors /#simple-cross-origin-request)僅當* force預檢標誌*爲假(即它不是* XMLHttpRequestUpload *請求)並且沒有其他標頭字段在請求中而不是[簡單的頭域](http://www.w3.org/TR/cors/#simple-header)。 – Gumbo