1. 程式人生 > 其它 >Django【view】cors跨域與ajax get請求

Django【view】cors跨域與ajax get請求

pip install

pip install django-cors-headers

後端settings

INSTALLED_APPS = [
   ...
    'corsheaders',
]

MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.security.SecurityMiddleware',
    ...
]

# cors
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = ()

CORS_ALLOW_METHODS = (
    'DELETE',
    'GET',
    'OPTIONS',
    'PATCH',
    'POST',
    'PUT',
    'VIEW',
)

CORS_ALLOW_HEADERS = (
    'accept',
    'accept-encoding',
    'authorization',
    'content-type',
    'dnt',
    'origin',
    'user-agent',
    'x-csrftoken',
    'x-requested-with',
)

html ajax get

<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>

<script type="text/javascript">
        function getGoods(){
            var barcode = $("#barcode").val();
            $.ajax({
                type: "GET",
                url: "http://127.0.0.1:8000/get_goods/?barcode="+barcode,
                headers: {
                     'Content-Type': 'applocation/json'
                },
                cache: false,
                success: function (response) {
                    if (response.status === 200) {
                        alert(response.result);
                        console.log(response.result)

                    } else {
                        alert(response.result);
                    }
                }
            })
        }
</script>