Jquery Ajax данные об успехе от PHP эхо не работает - PullRequest
0 голосов
/ 25 мая 2020

Я пытаюсь получить значение данных при успехе из php. Однако, когда я предупреждаю (данные) об успехе, он возвращает страницу html.

HTML:

<input type="text" class="form-control" name="project_name" id="projectName" required>

Jquery AJAX:

$('#projectName').on('blur', function(){
    var projectName = $(this).val();
    $.ajax({
        url: 'page.php',
        type: 'POST',
        dataType: 'text',
        data: {
            'projectChecked': 1,
            'project_name': projectName,
        },
        success: function(data){
            if (data == 'taken') {
                $('#projectName').addClass('border-red');
            }
        }
    });
});

PHP:

if(isset($_POST['projectChecked'])){
  echo 'taken'; 
  exit;
}

Предупреждающее сообщение:

<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf-8"/>
<link rel="shortcut icon" href="/favicon.png"/>

<title>Page Title</title>
<meta name="description" content="Meta Description">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/>

<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlTw8HfCJo=" crossorigin="anonymous"></script>

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-157194354-1"></script>

Ответы [ 2 ]

0 голосов
/ 25 мая 2020

можете ли вы проверить код html, когда делаете alert (data); и разместите здесь?

в качестве альтернативы вы можете проверить инструменты разработчика браузера и проверить вкладку сети для отслеживания параметров и ответа на запрос ajax.

Возможно, вы получаете http 400/500, и вы фактически видите страницу ошибки по умолчанию (которая, конечно, не является ответом JSON) в переменной данных (это зависит от способа настройки сервера)

0 голосов
/ 25 мая 2020

Вы должны использовать exit в коде php, чтобы получить возвращаемые данные, используйте следующий код

if(isset($_POST['projectChecked'])){
  echo 'taken'; 
  exit;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...