Аякс + Джанго: Аякс не распознается - PullRequest
2 голосов
/ 08 июля 2019

Я не понимаю, почему мой запрос AJAX не выполняется JQUERY, когда метод хорошо выполнен.

У меня есть форма, связанная с событием функции JQuery с помощью метода AJAX, который отправляет данныев функцию Django.

Когда я нажимаю кнопку сохранения, моя страница перезагружается при просмотре функции для захвата события.Он отображает предупреждение хорошо, но не отправляет информацию с AJAX.Моя функция верна?Это проблема с Django?

Это моя HTML-форма:

<form method="post" id="insert_idea__form">
                        {% csrf_token %}
                        <div class="row">
                            <div class="col-md-12">
                                <div class="form-group">
                                    <label for="insert_idea__titre">Titre de votre idée</label>
                                    <input type="text" class="form-control" id="insert_idea__title" required="">
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-12">
                                <div class="form-group">
                                    <label for="insert_idea__content">Contenu de l'idée</label>
                                    <textarea class="form-control" rows="5" id="insert_idea__content" name="centent"></textarea>
                                </div>
                            </div>                                                                        
                        </div> 
                        <button type="submit" class="btn btn-sm btn-primary">Sauvegarder</button>  
                    </form>

Это моя функция JQUERY:

<script type="text/javascript">         
$("#insert_idea__form").on('submit',(function(e)

    alert("Stop");

    $.ajax({
        url: '{% url "insert_idea" %}',
        type : 'POST',
        data: {
            'title': $("#insert_idea__title").val(), 
            'content': $("#insert_idea__content").val()
        },
        dataType: 'json',
        success: function (data) {
            alert('success');
        }
    });

}));
</script> 

Это мой url.py на Джанго:

urlpatterns = [
    url(r'^ajax/insert_idea/$', ideas.insert_idea, name="insert_idea"),
]

Это мой взгляд:

def insert_idea(request):
    title = request.GET.get('title')
    centent = request.GET.get('centent')

    return JsonResponse()

Если вы можете помочь мне понять, почему данные не отправляются в представление?Почему страница перезагружается?

Спасибо, Элиотт

Ответы [ 2 ]

0 голосов
/ 09 июля 2019
<script type="text/javascript">         
        $("#insert_idea__form").on('submit',(function(e)
           e.preventDefault();    
            alert("Stop");

            $.ajax({
                url: '/insert_idea/',
                type : 'POST',
                data: {
                    'title': $("#insert_idea__title").val(), 
                    'content': $("#insert_idea__content").val()
                },
                dataType: 'json',
                success: function (data) {
                    alert('success');
                }
            });

        }));
</script> 
0 голосов
/ 08 июля 2019

Проблема в том, что токен csfr отсутствует в отправленных данных

...