Неверный запрос для POST и нет возвращаемого значения для GET с использованием Ajax - PullRequest
1 голос
/ 29 апреля 2019

У меня есть код для post данных на сервер django и я получаю от него данные, используя ajax.Когда я использую метод post, сервер отвечает Bad Request: /quizzes/ [29/Apr/2019 18:13:42] "POST /quizzes/ HTTP/1.1" 400 83 И в коде ajax не возвращается ни информация, ни ошибка, ни полная информация.

Когда я пытался get данных с сервера, сервер говорит, что все в порядке [29/Apr/2019 18:19:57] "GET /quizzes/ HTTP/1.1" 200 249, но код ввел ошибку и завершает блоки только с ошибкой msg "Ошибка с состоянием: ошибка"

Еще одна проблема - когда запрос заканчивается, мой firefox перезагружает страницу, и я не знаю, почему

Так что кто-нибудь может предложить решение этих проблем?!

Это мой код Ajaxдля post метода, который не дает мне никакого ответа И сервер ожидает получить объект json в этом формате

{
'title': "superheroes java",
'pass_score': 1,
'num_of_questions': 3,
'expected_duration': 10,
'skill_type': {"name": "java"},
}

Вот как я форматирую и отправляю его

  $("#add-quiz").click(function () {
        quizData = {
            title: $("#quizTitle").val(),
            pass_score: Number($("#quizPassScore").val()),
            num_of_questions: Number($("#quizNumQuestions").val()),
            expected_duration: Number($("#quizDuration").val()),
            skill_type: {name: $("#quizSkillType").val()}
        };
        response = ""
        $.ajax({
            url: "http://127.0.0.1:8001/quizzes/",
            dataType: "json",
            method: "POST",
            data: quizData,
            success: function () {
               response = "success";
            }, error: function (jqXHR, textStatus, errorThrown) {
                console.log(jqXHR, textStatus, errorThrown);
            }, complete: function (request, status) {
                alert("Error with status: " + status);
            }
        });
        alert(response);
    });

Иэто get метод, который говорит Error with status: error

 response = "";
        $.ajax({
            url: "http://127.0.0.1:8001/quizzes/",
            method: "GET",
            success: function (data) {
                response = data;
            }, error: function (XMLHttpRequest, textStatus, errorThrown) {
                console.log("Status: " + textStatus + "Error: " + errorThrown);

            }, complete: function (request, status) {
                console.log("Error with status: " + status);
            }
        });
        alert(response);

Я просто использую respone для дальнейшего тестирования

1 Ответ

1 голос
/ 29 апреля 2019

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

Сервер использовал DJANGO, поэтому шаги, на которые мы пошли, были ответом на этот вопрос

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