最近在做js生成圖片的功能,因為有的商戶logo圖片在阿里雲oss存儲的,所以遇到了跨域的問題。跨域的話可以在服務器端設置header,
跨域的話目前的解決方案是服務端設置,Access-Control-Allow-Origin。阿里雲oss有配置的的地方,直接配置就好了。
我這里遇到一個比較坑的地方,阿里雲配置好了,但是請求還是報跨域。最后發現是瀏覽器緩存的問題,在瀏覽器中disable cache之后,請求就沒有問題了。
如果在js中請求圖片的話,在請求頭上加上cache-control的設置,cache-control設置為no-cache就好了。這個問題折騰了一天,多虧阿里雲的大俠出手相助。
記錄下跨域請求的大概流程, 客戶端發送origin的請求頭,如果服務端響應頭返回Access-Control-Allow-Origin,客戶端會再此發送請求。
如果都設置了不起作用,看下客戶端的請求頭和服務端的響應頭就好了。
我這里簡單記錄下,有相同問題的可以留言給我,跨域的問題基本上處理起來都是差不多的。