Почему не работает post ajax запрос в Django?
При отправке POST запроса на URL без слэша в конце, django вам сначала отдает 301 статус, а потом перенаправляет ваш запрос куда-следует уже без данных. В итоге вы получали 500 статус.
Если запрос идет с помощью метода GET - даже после редиректа django данные в GET сохраняются и у вас, в итоге, всё работало.
Решение - если используете APPEND_SLASH в конфигурации, не забывайте направлять ajax-запросы на URL со слешем в конце.
В общем, вывел в консоль JSa все, что возвращается при ошибке.
там была строкаRuntimeError at /registration/ajax
You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data.
в итоге добавил slash в конец( /registration/ajax/) и POST тоже заработал. Это здорово, конечно, но может кто-нибудь объяснить почему так произошло, вернее почему с GET все работало и без этого слеша?
И еще один вопрос - как нужно использовать $.ajaxSetup() при моем ajax запросе?