Как можно без обновления вытащить данные с помощью ajax в django

Я могу публиковать с помощью ajax, но когда я хочу вытащить данные без обновления страницы, я могу сделать это только 2 раза, тогда кнопка теряет свою функцию.

 <div>
                          <input type = "hidden" name = "producecode" class = "pcode" value = "{{per.produceCode}}" />
                          <input type = "hidden" name = "useremail" class = "uponequantity" value = "{{user.username}}" />
                          <button class = "btn btn-sm btn-primary upoq"><i class = "fa fa-plus"></i></button></div>

и jquery

 $.ajax({
    type: "POST",
    url: "/uponequantity/",
    headers: { "X-CSRFToken": '{{csrf_token}}' },
    data: {
    "producecode":$(this).parent().find(".pcode").val(),
    "useremail":$(".uponequantity").val(),
  },
    success: function() {
      window.location.assign('/basket/'+"?b = "+$(".uponequantity").val());
    }

    
});
/*$.ajax({
              url:'/baskett/'+"?b = "+$(".uponequantity").val(),
              headers: { "X-CSRFToken": '{{csrf_token}}' },
              type:'POST',
              success:function(result){
                  $('.basket').html(result);
      }
      });

*/

})
$(".pcode").val() ссылки .pcode, но я думаю, что вместо этого должно быть .pdcode, верно?
Ari Seyhun 20.03.2022 06:34
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
1
54
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Просто добавьте еще одну строку, чтобы ссылаться на ваш второй ввод так же, как и первый.

$(".up").click(function(){
  $(".prdtd").find("input:first-  child").attr("value"); 
  $(".pcode").val()
  $(".uponequantity").val()//<-- new line for the second hidden value
}

-----------------------------------------
Обновлять:
-----------------------------------------

OP имеет несколько кнопок с одним и тем же классом, каждая из которых находится в своем собственном div, и хочет получить доступ к значениям внутри каждого div.

Итак, сначала вам нужно изменить «код» с идентификатора на класс, чтобы получить все экземпляры. (я бы для уникальных экземпляров)

После этого вам нужно получить «код» и «по справедливости», которые связаны с этой кнопкой, и один из способов сделать это:

$(".up").click(function(){
  $(this).parent().find(".pcode").val()
  $(this).parent().find(".uponequantity").val()
}

Проще говоря, ключевое слово this относится к нажатой кнопке.
Затем вы получаете прямой родительский элемент, который будет иметь кнопку и скрытые значения в качестве дочерних элементов. Наконец, вы получаете каждого конкретного ребенка с помощью команды find и делаете с ними все, что хотите.

Спасибо, но у меня возникли проблемы со скрытым вводом, имя которого — код производства.

Kazım 20.03.2022 06:31

@Kazım, вы упомянули, что «он принимает только первое значение», что вы имеете в виду?

gNazi 20.03.2022 06:33

@Kazım Было бы лучше, если бы вы предоставили весь свой код, чтобы мы могли лучше помочь.

gNazi 20.03.2022 06:41

Делюсь полным кодом

Kazım 20.03.2022 07:11

@Kazım Я прочитал сообщение, которое вы удалили, и понял, чего вы хотите. я обновлю свой ответ

gNazi 20.03.2022 08:17

Спасибо, @Gabriel, я обновил свой вопрос по совету Ари.

Kazım 20.03.2022 08:28

Если я правильно понимаю ваш вопрос, вы хотели бы получить значение обоих входов в своем обратном вызове.

Похоже, вы неправильно написали pdcode в своем JavaScript.

Помогает ли приведенный ниже фрагмент кода?

$(".up").click(function() {
  const value1 = $(".pdcode").val();
  const value2 = $(".uponequantity").val();
}

На самом деле я хочу нажать другую кнопку, pdcode возвращает другое значение, но я нажимаю другую кнопку, pdcode возвращает одно значение

Kazım 20.03.2022 06:41

Было бы намного проще, если бы вы могли добавить больше своего кода

Ari Seyhun 20.03.2022 06:42

Делюсь полным кодом

Kazım 20.03.2022 07:11

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