Ajax перестает работать после одного ответа - PullRequest
0 голосов
/ 08 июня 2018

Я использую jQuery Ajax для публикации некоторых данных из формы.Вот мой код

$(() => {
  $("#send-data").on("submit", () => {
    $("#submit-button").prop('disabled', true);
    $("#submit-button").html("SENDING...");
    $.ajax({
      url: 'send.php',
      method: 'POST',
      data: $("#send-data").serialize(),
      success: (response) => {
        if (response.indexOf('1900') != -1) {
          $("#submit-button").removeAttr("disabled");
          $("#submit-button").html("SENDING");
          $('.error-msg').css('display', 'none');
          $('.success-msg').css('display', 'inherit');
        } else {
          $("#submit-button").removeAttr("disabled");
          $("#submit-button").html("SENDING");
          $('.success-msg').css('display', 'none');
          $('.error-msg').css('display', 'inherit');
        }
      }
    })

    return false;
  })
})

Отлично работает по первому запросу.Но после этого ответа он не работает.Ошибка: Uncaught TypeError: response.indexOf is not a function.

response = {"responseCode":1900}

Я отправляю запрос в API (1), затем этот API (1) отправляет запрос в другой API(2).Этот API (2) дает этот ответ JSON {responseCode: 1900} в API (1).Я получаю этот ответ, используя CURL (PHP).Тогда я просто отправляю этот ответ ajax.

Может кто-нибудь помочь, пожалуйста?

Обновление: я решил проблему.Проблема была с этими API.

1 Ответ

0 голосов
/ 08 июня 2018

За ваш комментарий вы получаете объект json, а не строку.

Таким образом вы можете сделать

if (response.responseCode != 1900)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...