Ajax передает логическое значение вместе с HTML с сервера на клиент с типом данных HTML - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть файл PHP, который отвечает на вызов jQuery Ajax с dataType: 'HTML',.PHP выглядит как

if( $result->num_rows > 0 ){
    ....
    echo '<p>There are some user already </p>';
} 
else{
    echo '<p>List is empty </p>';
}

, это нормально работает на моей стороне JS, как

ajaxcall.done(function(data) {  
  $('#call-result').html(data);
});

, но мне также нужно добавить некоторую бизнес-логику на стороне клиента на страницу, передав логическое значениефлаг от сервера к JS.Как я могу передать истинное ложное вместе с фрагментом HTML с сервера клиенту?

1 Ответ

0 голосов
/ 12 декабря 2018

Просто используйте JSON для ответа:

<?php
if ($result->num_rows > 0) {
    $html = '<p>There are some user already </p>';
    $result = false;
} else{
    $html = '<p>List is empty </p>';
    $result = true;
}
$response = ["html"=>$html, "result"=>$result];
header("Content-Type: application/json");
echo json_encode($response);

Затем в вашем JS:

ajaxcall.done(function(data) {
    var result = data.result;
    $('#call-result').html(data.html);
});

jQuery автоматически проанализирует ответ типа json в объект JavaScript, чтобы выможет получить доступ к элементам напрямую.

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