後臺API使用了RESTful Api的接口設計,前端頁面這裏使用了Nginx代理進行跨域調試。
當請求方式是DELETE、PUT的時候,出現了405 Method not Allowed 錯誤,而且請求的方式變成了OPTIONS。
配置所有跨域請求:add_header Access-Control-Allow-Origin *;
但這裏只支持簡單的請求方式:GET,POST,OPTIONS,使用DELETE,PUT請求,屬於複雜請求,複雜的跨域請求HTTP首先會發一個OPTIONS請求,
經過服務器的同意,再轉爲對應的DELETE,PUT請求,所以這裏需要後端去設置。
這裏我用的nginx,那麼直接在配置裏面改一下就好了。
出了允許跨域的配置,還需要設置允許的請求方法(請求謂詞):
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,PATCH,OPTIONS;
加上一個判斷:
if ($request_method = 'OPTIONS') {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,PATCH,OPTIONS;
return 200;
}