在ajax加载中,image_url包含https链接。因此,https访问没有问题。 但是当我访问http上的同一页面时,我得到了
“ HTMLCanvasElement”上的toDataURL”:受污染的画布可能不会导出。
我做了一些谷歌搜索,而这正是我尝试过的。
在img上设置属性
img = new Image();
img.crossOrigin = 'anonymous';
img.onload = some func;
img.src = some src;
Django set corshead
INSTALLED_APPS = [ ... 'corsheaders', ]
MIDDLEWARE_CLASSES = (
'corsheaders.middleware.CorsMiddleware',
...
)
CORS_ORIGIN_WHITELIST = (
'example.com',
### tried ###
### 'http://example.com', 'https://example.com'
)
### also tried ###
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = False
django设置x_frame_options
X_FRAME_OPTIONS = 'ALLOW-FROM https://example.com/'
手动在views.py上添加标题
def retrieve(self, request, pk=None):
...
response = Response(serializer.data)
response["Access-Control-Allow-Origin"] = "*"
return response
没有任何效果。我想念什么?
我打算在nginx上将http重定向到https(存在一些问题,这需要时间。)
除此之外,如何避免跨源问题? 预先感谢。