Django Ajax: множественный запрос на запуск для одного GET-запроса ajax - PullRequest
0 голосов
/ 06 ноября 2019

У меня странная проблема, когда я делаю ajax запрос на получение из моего шаблона в моем представлении. когда я нажимаю на кнопку истории, в журнале я вижу, что ajax отправил запрос на два разных URL.

консольный журнал:

[06/Nov/2019 21:22:38] "GET /NewHandBook/UserHistory?uname=pvivek 
HTTP/1.1" 200 4306
[06/Nov/2019 21:22:38] "GET /NewHandBook/Home? HTTP/1.1" 200 9980

Запросы должны отправляться только на /NewHandBook/UserHistory но не уверен, почему это происходит /NewHandBook/Home.

Мой вызов ajax:

<form id="UserHistory">

        <button type="submit" class="btn btn-primary">
            <i class="fas fa-history"></i> History
        </button>
    </form>
    $(document).on('submit', '#UserHistory', function (e) {
                    console.log("clicked history button");
                    console.log(getCookie("userName"));
                    $.ajax({
                        type: 'GET',
                        url: '/NewHandBook/UserHistory',
                        data: {
                            'uname': getCookie("userName")
                        },
                        success: function (data) {
                            console.log("executed userHistory")
                            console.log(getCookie("userName"));
                        }
                    })
                })

Urls.py

url('UserHistory', views.history)

views.py

def history(request):
    uname=request.GET.get('uname')
    result = UserQueryHistory.objects.filter(User_name=uname)
    return render(request, 'History/DbHistory.html', {"result": result})

1 Ответ

0 голосов
/ 06 ноября 2019

Если у вас есть форма и кнопка «Тип отправки», нажмите на кнопку, чтобы отправить форму. У вас есть шрифт event.preventDefault. Вот почему эта кнопка вызывает два запроса.

Существует несколько решений. Два самых простых 1 предотвращение по умолчанию на Js 2 изменить тип кнопки или даже заменить его, например, span

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