django 在删除时没有访问控制允许来源标头

Posted

技术标签:

【中文标题】django 在删除时没有访问控制允许来源标头【英文标题】:django no access-control-allow-origin header on Delete 【发布时间】:2015-06-08 04:46:53 【问题描述】:

在我的 Django Rest API Famework 中,为了启用 CORS,我正在使用该应用:

corsheaders

(django-cors-headers) 设置:

CORS_ORIGIN_ALLOW_ALL = True

这适用于GETPOSTPATCH 但是,仅针对DELETE,我收到此错误:

no access-control-allow-origin header on the requested resource

我正在像这样从 javascript 发出这个请求:

data = oper:'campaigns', req_type:'dc';
    $.ajax(
            url: url,
            type: "DELETE",
            traditional: true,
            datatype:"json",
            contentType: 'application/json;charset=UTF-8',
            data: JSON.stringify(data),

我不知道为什么这只会发生在 DELETE !!

【问题讨论】:

你得到的状态码是什么? 请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'veveoinc.com' 不允许访问。响应的 HTTP 状态代码为 403。 【参考方案1】:

这里没有足够的信息(什么是状态码等等...),但是在您的 Ajax 请求中尝试以下操作:

data: '_method':'delete', 
type: 'POST'

并非所有浏览器都支持 DELETE 方法。

【讨论】:

以上是关于django 在删除时没有访问控制允许来源标头的主要内容,如果未能解决你的问题,请参考以下文章

添加 Access-Control-Allow-Origin 后,仍然出现“请求的资源上没有“访问控制允许来源”标头”错误:*

为啥标头访问控制允许来源不起作用?

Axios - 没有“访问控制允许来源” - CORS

访问被 CORS 策略阻止:没有“访问控制允许来源”

Angular 和 Golang “没有访问控制允许来源......”

没有“访问控制允许来源”Angular 4 应用程序