如果php echo为空,则显示div:Ajax

时间:2019-02-23 18:04:32

标签: php jquery ajax

快速提问。

我有以下内容。

<script>
$(function () {
$('form').on('submit', function(e){
   e.preventDefault();
   $.ajax({
        type: 'post',
        url: 'search/searchpost.php',
        data: $('form').serialize(),
        success: function(data) {
            $('#results').html(data);
            $('#default').hide();
        }
     });
  });
 });
 </script>

这工作正常,但是如果回声不包含任何内容,我希望它显示#default div而不是将其隐藏。有可能吗?

PHP页面

<?php
require_once('../config/db.php');
require_once('../customLIB/pdo_db.php');
require_once('../models/test.php');
$SalesRep = new SalesRep();

if ($_POST['search']) {
$data = $_POST['search'];
$rep = $SalesRep->getRep($data);

if(!empty($rep)) {

    echo "
     <div class='modal-body clearfix row'>
        <div class='col-md-4 text-center'><img     src='img/salesmap/image.jpg'  alt='Name' /></div>
        <div class='col-md-8 salesman'>
            <h2>Name</h2>
            <p class='salesman-subtxt'>Subtext</p>
            <p class='salesman-phone'><br />
                Office: <br />
                Cell: <br />
                Email: <a href='' target='_blank'></a></p>
        </div>
    </div>";

 }
}
?>

1 个答案:

答案 0 :(得分:2)

由于在未设置某些参数的情况下您不会回显任何内容,因此data的值为空字符串(您可以使用console.log(data)进行检查),因此:

success: function(data) {
    if (data != "") {
        $('#results').html(data);
        $('#default').hide();
    } else {
        $('#default').show();
    }
}