403 по запросу ajax на собственный домен - PullRequest
1 голос
/ 07 сентября 2011

Я пытаюсь использовать ajax-запрос для вызова функции в другом представлении, но получаю ошибку 403.

выдержка из моего шаблона:

    FB.ui({ method: 'apprequests', title: 'Invite your friends to answer questions!', message:'Invite your friends!'},
    function(response) {
        jQuery.ajax({
            url: "/canvas/request/",
            type: "post",
            data: {qid: {{ qid }} , request_ids: response.request_ids}
        })
    });

выдержка из моего взгляда:

def save_request(request):
    print("in save request")
    for id in request.request_ids:
        share = ShareRequest
        share.question = request.qid
        share.share_id = id
        share.save()

выдержка из моих URL:

urlpatterns = patterns(...
    (r'^request/', save_request),

возвращает [06 / Sep / 2011 13:35:56] "POST / canvas / request / HTTP / 1.1" 403 2332

Я действительно запутался.

Ответы [ 2 ]

6 голосов
/ 07 сентября 2011

Возможно, вам нужно добавить токен CSRF к вашему запросу? Некоторые детали на https://docs.djangoproject.com/en/dev/ref/contrib/csrf/.

4 голосов
/ 07 сентября 2011

ПЛОХОЕ, но БЫСТРОЕ решение для сохранения себя в невидимом режиме:

from django.views.decorators.csrf import csrf_exempt

используйте этот @csrf_exempt декоратор на ваших взглядах, чтобы игнорировать проблему csrf.1008 * Но это плохой привычка.Поэтому убедитесь, что ваши сайты csrf защищены.И следуйте документации по Django.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...