@DorF_0

Почему Ajax возвращает ошибку даже если статус 200?

answers[1] = {
    "answid": 12,
    "ans_val": 4325,
    "quest_id": 54,
    }
    answers[2] = {
    "answid": 13,
    "ans_val": 43151,
    "quest_id": 64,
    }
   
            $.ajax({
                url: "/Results.php",
                type: "POST",
                data: {answers: JSON.stringify(answers)},
                dataType: 'json',
                success: function (results) {
                    $.each(results, function (key, val) {
                        if (val.res == "good") {
                        alert("Success");
                        }else if(val.res =="bad"){
                        alert("Fail");
                        }
                    }
                 },
                error: function (err){
                  console.log(err);
            }
            });


if($this->SqlError==null){
        return [
            "data"=>[
                'res' => "good",
                'all_answers' => 3,
                'sub' => 3,
            ],
        ];
    }else{
        return [
            "error"=>$this->SqlError["error"],
        ];
    }

Я пытаюсь получить результаты тестирования. Я отправляю вопросы и ответы но не могу заполучить результат json формате. Когда dataType: "json" ajax всегда возвращает ошибку хотя в базы результаты отправляются а когда dataType:"text" ajax уже принимает это как success НО это уже как строка и + я это ответ получаю с данными который я отправил для обработки и из за этого какой то конфликт получается. Кто то может мне с этим помочь ? Спасибо за ранее
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
@DorF_0 Автор вопроса
У меня проблема была в том что я поставил лишние echo/var_dump/print для проверки данных. Убедитесь в том что у вас только одна echo ajax success'a
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ddv88
@ddv88
Binance Futures
А где ты возвращаешь код ошибки?
Error не равно код ответа. Это просто колбэка для аякса.
return [
            "error"=>$this->SqlError["error"],
        ];

Тут 200.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы