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 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法