显示来自 PHP 控制器 class 的警报框

Displaying an Alertbox from PHP Controller class

目前我在我的控制器中,我已经在控制器中进行了检查。基本上检查特定字段的值是否为 0。现在如果它是 0,我想通过我的控制器显示一个警报弹出窗口。为此,我尝试了以下代码:

public function status($status){ 
    if($this->input->post('id')){
        foreach($this->input->post('id') as $key => $id):
            $check_emirate = $this->listings_model->check_emirate($id);
            if($check_emirate->emirate == 0){
                echo "<script>alert('This card was not approved.');</script>";
            }else{
            $data=array('status'=>$status);  $updated=$this->listings_model->update($data,array(),$id); 
    }
        endforeach;     
    } 
    return true;
}

现在它正在进入我的 if 条件,但它没有显示弹出窗口。

这是我为启用此功能而进行的 AJAX 调用:

$(".status").click(function(e) { chagestatus($(this)); }

function chagestatus(obj){ 
  if($('.chkbx').is(':checked') == true){
    $.ajax({
      type: "post",
      dataType: "json",
      async:false,
      url: "<?php echo site_url('listings/status'); ?>/"+obj.data('val'),
      data: $(".chkbx:checked").serialize(),
      success: function(result) {}
    });
  }
}

我在这里尝试过的另一件事是这样使用 json_encode:

if($check_emirate->emirate == 0){
                $data = "<script>alert('This card was not approved, Thanks.');</script>";
                echo json_encode($data);
            }

  success: function(result) {
    result = JSON.parse(result);
  }

但这也没有给出任何回应。

如果您的控制器中的功能运行良好,那么您需要将服务器的结果附加到您的 DOM:

    success: function(result) {
        $('body').append(result);
    }