Задать вопрос
timofeydeys
@timofeydeys
Свобода творцов

Как добавить CROS данные в запросе и ответе к Django?

Добрый вечер! Помогите пожалуйста! Есть некий скрипт, который висит предположим на сайте lalalala.ru,
нужно с этого скрипта отправлять ajax на сервер, на котором висит django и внутри фреймворка обрабатывать.
Т.е. вот часть кода.:
js:
$.ajax({
            url: "http://127.0.0.1:8000/widgets/ie",
            type: 'POST',
            data: {
                number: number,
                site: site,
            },
            dataType:"json",
            error: function() {
                    //window.location.href = "{{url}}/crm/todos/";
                alert("bad");
            },
            // При успехе меняем информацию в шаблоне
                success: function(data){
                   // window.location.href = "{{url}}/crm/todos/";
                    //printModalOpen(data.name, data.info, data.date, data.metka, data.pk);
                alert("ya");
                },
            // CSRF механизм защиты Django
                beforeSend: function(xhr, settings) {
                    console.log('-------------before send--');
                    function getCookie(name) {
                        var cookieValue = null;
                        if (document.cookie && document.cookie != '') {
                            var cookies = document.cookie.split(';');
                            for (var i = 0; i < cookies.length; i++) {
                                var cookie = jQuery.trim(cookies[i]);
                                // Does this cookie string begin with the name we want?
                            if (cookie.substring(0, name.length + 1) == (name + '=')) {
                                cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                                break;
                            }
                        }
                    }
                    return cookieValue;
                    }
                    if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url))) {
                        // Only send the token to relative URLs i.e. locally.
                        xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));
                    }
                }
            });// ajax


Проблемы две:
1) Нужно подцепить Access-Control-Allow-Origin, и в запрос и в ответ, т.к. запрос без него не проходит. Ковырял ковырял гугл, но не гайда ни как это сделать не нашел.
2) Как мне делать запрос с csrf_token?? т.е. я же не на сайте джанго нахожусь а на другом. Как мне правильно отправлять запрос туда??? ПОмогите пожалуйста и не кидайте помидорами, я только учусь!))
  • Вопрос задан
  • 377 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
sim3x
@sim3x
Комментировать
@huko
https://github.com/ottoyiu/django-cors-headers/

from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def bla-bla(request):

отключит проверку crfs только для этой фунции
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы