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 三菱变频器模块怎么检测触发
  • ¥15 在C#方法中使用了.Refresh();刷新了控件,但是不是最新值
  • ¥30 求一下解题思路,完全不懂。
  • ¥30 关于#硬件工程#的问题:求一下解题思路
  • ¥15 运筹学对偶单纯行法构造扩充问题
  • ¥20 XP系统的老电脑一开机就提示找不到rundll.exe,付费求解
  • ¥15 milvus查询出来的score怎么转换成0-1之间的相似性
  • ¥15 lvgl V9移植到linux开发板
  • ¥15 VB.net中在窗体中创建一个button控件来关闭窗体,但是提示错误,我该怎么办
  • ¥15 网上下载好的程序但是arduinoIDE编程报错,运行不了,哪里出错了,能具体给改一下吗