gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 12:04:07 24 4
gpt4 key购买 nike

我想使用 Javascript、jQuery、AJAX 在前端调用 Django Rest API。请求方法是 POST 但是当我看到 API 调用它的调用 OPTIONS 方法时。因此,我开始了解 access-control-allow-origin,我想这需要在 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 发出 postman 请求,它会在不启用 cors 的情况下工作。因此,要启用跨源请求,请在 django settings.py 中设置键 CORS_ORIGIN_ALLOW_ALL = True 以启用所有域的 CORS。将指定域集列入白名单

CORS_ORIGIN_ALLOW_ALL = False,

CORS_ORIGIN_WHITELIST = ('http//:localhost:8000')

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

关于jquery - 如何使用 javascript/jquery/AJAX 调用 Django REST API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37948991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com