Здравствуйте я новичок в Django и немного запутался в связке JQUERY/AJAX/CSRF. Есть код:
TEMPLATE-HTML
<form action="ajax/test/" method="POST" id="ab">
<input type="text" id="a" name="" value="" />
<input type="text" id="b" name="" value="" />
<input id="clickme" type="button" value="Кликни меня" />
</form>
<script type="text/javascript">
$('#clickme').click(function() {
var a = $("#a").val();
var b = $("#b").val();
$.post("ajax/test/", {
'a': a,
'b': b,
},
function(data) {
alert(data);
});
});
</script>
VIEWS.py
from django.views.decorators.csrf import csrf_exempt
from django.http import HttpResponse
@csrf_exempt
def ajax_test(request):
if request.is_ajax():
try:
a = request.POST['a']
b = request.POST['b']
data = int(a) * int(b)
except:
data = "Only numbers"
return HttpResponse(data)
Settings.js дабы тут сильно не спамить вынес на http://pastebin.com/APV95XpM
Убираю декоратор «@csrf_exempt» выдает ошибку 403, думаю так и должно быть. Однако удаляю куки(csrftoken) из сессии браузера и он всё равно отправляет аякс запрос, обрабатывает его как ни в чем не бывало и выдает тот же ответ что и с кукями. Что я делаю не так?
Updated 3 July 2014, 15:27 by viron.