Перезагрузить всю страницу в Ajax на Django?

Я использую ajax, чтобы перейти к функции и проверить, существует ли значение в базе данных или нет. Если данные уже существуют, я показываю диалоговое окно jQuery, которое работает нормально, но если значение еще не существует, я не хочу показывать всплывающее окно и обновлять всю страницу. Вот моя функция AJAX:

function copyFile(val) {
    var choices = document.getElementsByName("choice_shard_with_me").value;
    var file_owner = document.getElementById('username').value;
      $.ajax({
                type: "GET",
                url: "/copy_file/",
                data: {choices:choices, file_owner:file_owner},
                success: function(data){
                     $('#dialog-confirm').html(data)

                }
            });
}

Мой взгляд на Джанго:

 if request.GET:

    choices = request.GET.getlist('choice_shard_with_me')
    file_owner = request.GET.getlist('username')

    #Test if the file already exist in the user share directory
    x = [File.objects.filter(user_id=request.user.id, file_name=i, flag='A').values_list('file_name') for i in choices]
    y = [y[0] for y in x[0]]
    if len(y) > 1:
        return render_to_response('copyexist.html', {'file':y}, context_instance=RequestContext(request)) 
        //doesn't refresh the whole page show the popup.


    else:
        //refresh whole page and do something

Мой вопрос: когда отображается всплывающее окно, оно отображается с помощью Ajax в div. Если он попадает в файл оператора else, копирование завершается, и успешное сообщение выдается в небольшом элементе div (я хочу сделать обновление всей страницы здесь).

1 ответ

Вы можете сделать свой ответ, например, в кодировке json, где вы получите два параметра:

 { 
   success: true/false,
   data : YOUR_DATA_HERE
 }

Таким образом, успешный обратный вызов может рассмотреть часть успеха и решить, показывать ли всплывающее окно с данными или перезагружать страницу.

Извините, я не знаю python, поэтому не могу посоветовать точное выражение для правильного кодирования json.

Другие вопросы по тегам