Данные Ajax-постов не поступают в Django

Я разрабатываю приложение Django. Я пытаюсь использовать jquery и ajax для POST-запроса, но не могу найти ошибку. В основном я пытаюсь отправить данные с фронтенда с помощью ajax на сервер.

views.py

def add_new_question_feedback(request, pk):
    if request.headers.get('x-requested-with') == 'XMLHttpRequest':
        question = Question.objects.get(id=pk)
        feedback = QuestionFeedback(
        question=question, user=request.user, text=request.POST.get('feedback'), feedback_choice=request.POST.get('feedback_choice'))
        feedback.save()
        feedback = serializers.serialize('json', [feedback])
        return HttpResponse(feedback, content_type='application/json')

models.py

class QuestionFeedback(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    user = models.ForeignKey('users.CustomUser', on_delete=models.CASCADE)
    text = models.TextField()
    feedback_choice = models.CharField(
    max_length=200)
    is_closed = models.BooleanField(default=False)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

шаблон

<div class="modal-header">
                <h5 class="modal-title">${gettext(
                  "Question Feedback"
                )} n° ${res[0].pk}</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <div class="modal-body">
                    <div class="form-group mt-3">
                        <label class="form-label">${gettext(
                          "Feedback Type"
                        )}</label>
                        <select name="feedback_choice" id="feedback_choice" class="form-control" required="">
                            <option value="" selected="" disabled>${gettext(
                              "Select Topic"
                            )}</option>
                            <option value="Wrong Question">${gettext(
                              "Wrong Question"
                            )}</option>
                            <option value="Wrong Answer">${gettext(
                              "Wrong Answer"
                            )}</option>
                            <option value="Other">${gettext(
                              "Other"
                            )}</option>
                        </select>
                    </div>
                    <div class="form-group mt-3">
                        <label class="form-label">${gettext(
                          "Feedback"
                        )}</label>
                        <textarea name="feedback" id="feedback"  rows="10" class="form-control"></textarea>
                    </div>
                    <button type="button" class="btn btn-success mt-3" id="addFeedback"> ${gettext(
                      "Add New Feedback"
                    )} </button>
                    <button type="button" class="btn btn-danger mt-3 ms-3" data-bs-dismiss="modal">${gettext(
                      "Close"
                    )}</button>
            </div>
      `;

функция аякс

$("#addFeedback").on("click", function () {
        $.ajax({
          type: "POST",
          url: "/quiz/add_new_question_feedback/" + questionBtnId,
          data: {
            feedback_choice: $("#feedback_choice").find(":selected").text(), //I can't post feedback_choice to the server
            feedback: $("textarea#feedback").val(), //I can't post feedback to the server
            csrfmiddlewaretoken: csrftoken,
          },
          success: function (response) {
            $("#feedbackModal").modal("hide");
            handleAlerts(
              "success",
              gettext("New Question Feedback sent successfully!")
            );
          },
          error: function (error) {
            $("#feedbackModal").modal("hide");
            handleAlerts("danger", gettext("Oops, something went wrong!"));
          },
        });
      });

Моя проблема в том, что в основном feedback и feedback_choice не отправляются на сервис. Я знаю, что что-то не так в моей переменной данных ajax, но я не знаю, как это решить.

Заголовок для XMLHttpRequest чувствителен к регистру. X-Requested-With

def add_new_question_feedback(request, pk):
    if request.headers.get('X-Requested-With') == 'XMLHttpRequest':
        question = Question.objects.get(id=pk)
        feedback = QuestionFeedback(
        question=question, user=request.user, text=request.POST.get('feedback'), feedback_choice=request.POST.get('feedback_choice'))
        feedback.save()
        feedback = serializers.serialize('json', [feedback])
        return HttpResponse(feedback, content_type='application/json')
Вернуться на верх