weixin_33693070 2017-02-17 06:14 采纳率: 0%
浏览 23

用Ajax显示结果

I'm trying to make some calculating program using CI and Ajax. The calculating result was a success but, when i want to show the result with a variable with an if condition, the variable won't show but the result was working. So I'm really confused with this one and already on the edge. If there is any reference available, please tell me. And sorry for my bad english.

Here's the controller:

<?php 
defined('BASEPATH') OR exit('No direct script access allowed');

class Kalkulator extends CI_Controller{

    public function __construct(){
        parent::__construct();
    }

    public function index(){
        $hasil ['hasil']= 0;
        $hasil ['laba'] = '';
        $this->load->view('Hitungan', $hasil);
    }
    public function hitung()
    {
        $v1 = $this->input->post('v1');
        $v2 = $this->input->post('v2');
        $v3 = $this->input->post('v3');
        $v4 = $this->input->post('v4');
        $v5 = $this->input->post('v5');
        $v6 = $this->input->post('v6');
        $v1 = $v1;
        $v2 = $v2;
        $v3 = $v3;
        $v4 = $v4;
        $v5 = $v5;
        $v6 = $v6;
        $laba = '';
        $hasil = 0;
        $hasil = ((($v2*$v3*$v4)+($v1*$v5))/$v6);
        $nilai['hasil'] = round($hasil*50)."%" .$laba;
        echo json_encode($nilai);
        if ($nilai['hasil'] < 30) {
            $laba = "Budidaya Anda akan gagal";
        }
    }
} 

The script:

<script type="text/javascript">
    $(document).ready(function() {
        $(".submit").click(function(event) {
            event.preventDefault();
            var bilangan1 = $("#v1").val();
            var bilangan2 = $("#v2").val();
            var bilangan3 = $("#v3").val();
            var bilangan4 = $("#v4").val();
            var bilangan5 = $("#v5").val();
            var bilangan6 = $("#v6").val();
            jQuery.ajax({
                type: "POST",
                url: "<?php echo base_url(); ?>"+"index.php/kalkulator/hitung",
                dataType: 'json',
                data: {v1: bilangan1, v2: bilangan2, v3: bilangan3, v4: bilangan4, v5: bilangan5, v6: bilangan6},
                success: function(res) {
                    jQuery("#value").html(res.hasil);
                }
            });
        });
    });
</script>

The HTML:

    <!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Kalkulator</title>
    <link href="<?php echo base_url();?>css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" type="text/css" href="<?php echo base_url();?>css/style.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  </head>
  <body>
    <div class="container">
      <h1 class="form-header"></h1>
      <form class="form-horizontal">
            <?php echo form_open(); ?>
        <h2>Kalkulator Hitungan</h2>
      <br>
        <div class="form-group col-sm-12">
          <label class="control-label col-sm-3">Padat Tebar Ikan</label>
          <div class="col-sm-6">
            <?php 
                        $v1 = array(
                        'class'     => 'form-control',
                        'type'      => 'number',
                        'name'      => 'v1',
                        'id'        => 'v1'
                        );
                        echo form_input($v1);
                        ?>
          </div>
          <div class="col-sm-3">
          <label class="control-label ">/ekor</label>
          </div>
        </div>
        <div class="form-group col-sm-12">
          <label class="control-label col-sm-3">Panjang Kolam</label>
          <div class="col-sm-6">
            <?php 
                        $v2 = array(
                        'class'     => 'form-control',
                        'type'      => 'number',
                        'name'      => 'v2',
                        'id'        => 'v2'
                        );
                        echo form_input($v2);
                        ?>
          </div>
          <div class="col-sm-3">
          <label class="control-label ">/m2</label>
          </div>
        </div>
        <div class="form-group col-sm-12">
          <label class="control-label col-sm-3">Lebar</label>
          <div class="col-sm-6">
            <?php 
                        $v3 = array(
                        'class'     => 'form-control',
                        'type'      => 'number',
                        'name'      => 'v3',
                        'id'        => 'v3'
                        );
                        echo form_input($v3);
                        ?>
          </div>
          <div class="col-sm-3">
          <label class="control-label ">/m2</label>
          </div>
        </div>
        <div class="form-group col-sm-12">
          <label class="control-label col-sm-3">Tinggi</label>
          <div class="col-sm-6">
            <?php 
                        $v4 = array(
                        'class'     => 'form-control',
                        'type'      => 'number',
                        'name'      => 'v4',
                        'id'        => 'v4'
                        );
                        echo form_input($v4);
                        ?>
          </div>
          <div class="col-sm-3">
          <label class="control-label ">/m2</label>
          </div>
        </div>
        <div class="form-group col-sm-12">
          <label class="control-label col-sm-3">Harga Benih per ekor</label>
          <div class="col-sm-6">
            <?php 
                        $v5 = array(
                        'class'     => 'form-control',
                        'type'      => 'number',
                        'name'      => 'v5',
                        'id'        => 'v5'
                        );
                        echo form_input($v5);
                        ?>
          </div>
          <div class="col-sm-3">
          <label class="control-label ">/ekor</label>
          </div>
        </div>
        <div class="form-group col-sm-12">
          <label class="control-label col-sm-3">Harga Konsumsi per kg</label>
          <div class="col-sm-6">
            <?php 
                        $v6 = array(
                        'class'     => 'form-control',
                        'type'      => 'number',
                        'name'      => 'v6',
                        'id'        => 'v6'
                        );
                        echo form_input($v6);
                        ?>
          </div>
          <div class="col-sm-3">
          <label class="control-label ">/kg</label>
          </div>
        </div>
        <div class="form-group col-sm-12">
          <label class="control-label col-sm-3"></label>
          <div class="col-sm-6">
            <?php echo form_submit('submit', 'Hitung Sekarang', "class='btn btn-default submit'"); ?>
          </div>
          <div class="col-sm-3">
          <label class="control-label "></label>
          </div>
        </div>
        <div class="form-group col-sm-12">
          <label class="control-label col-sm-3"></label>
          <div class="col-sm-6">
            <output id="value"></output>
            <?php echo form_close(); ?>
          </div>
          <div class="col-sm-3">
          <label class="control-label "></label>
          </div>
        </div>


      </form>
      <footer class="form-footer">&copy beagle company</footer>
    </div>
    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="js/jquery.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>
  </body>
</html>
  • 写回答

3条回答 默认 最新

  • weixin_33713503 2017-02-17 06:21
    关注

    You should return Json code If there is dataType:json in your jquery

    In your Controller class Kalkulator extends CI_Controller{ and Function public function hitung() You are doing this

    echo json_encode($nilai);
    

    That is fine because you are sending Ajax call with DataType :Json So If you want to return Remove that line and add in the else condition condition then you should try like this

    if ($nilai['hasil'] < 30) {
            $laba = "Budidaya Anda akan gagal";
            echo json_encode(array('msg'=>$laba,'data'=>$nilai));
    }
    else{
        echo json_encode($nilai);
    }
    

    So by this you can get value inside if condition also in the jquery with this res

    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵