微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用javascript / jquery / AJAX调用Django REST API?

我想使用Javascript,jQuery,AJAX在前端调用Django Rest API.请求方法是POST,但是当我看到API调用调用OPTIONS方法时.所以,我开始了解访问控制允许来源,我想这需要在API中允许.为此,我使用了django-CORS-headers包,但仍调用了OPTIONS方法.

代码是这样的:

jQuery.ajax({
            url: API_url,
            headers:headers,
            dataType: "JSON",
            type: "POST",
            crossDomain: true,
            xhrFields: {
                withCredentials: true
            },
            success: function( response, jqXHR ) {
                    do something here
            }
});

解决方法:

好吧,我很久以前就学到了这个答案,但忘记了我已经发布了这个问题!
因此,每当在两个应用程序之间发出http请求时,浏览器首先执行OPTION请求以检查应用程序是否经过身份验证以向其他应用程序发出请求.如果身份验证失败,则不会发送其他请求.这就是为什么如果你对api做邮递员请求,它将在不启用cors的情况下工作.因此,要启用跨源请求,请在django settings.py中设置密钥CORS_ORIGIN_ALLOW_ALL = True,以便为所有域启用CORS.将指定的域设置列入白名单

CORS_ORIGIN_ALLOW_ALL =假,

CORS_ORIGIN_WHITELIST =(‘http //:localhost:8000’)

P.S.:你必须使用django-CORS-header包.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐