При отправке POST запроса на URL без слэша в конце, django вам сначала отдает 301 статус, а потом перенаправляет ваш запрос куда-следует уже без данных. В итоге вы получали 500 статус.
Если запрос идет с помощью метода GET - даже после редиректа django данные в GET сохраняются и у вас, в итоге, всё работало.
Решение - если используете APPEND_SLASH в конфигурации, не забывайте направлять ajax-запросы на URL со слешем в конце.