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 Ubuntu开机显示器只显示kernel,是没操作系统(相关搜索:显卡驱动)
  • ¥15 VB.NET如何绘制倾斜的椭圆
  • ¥15 在rhel8中安装qemu-kvm时遇到“cannot initialize crypto:unable to initialize gcrypt“报错”
  • ¥15 arbotix没有/cmd_vel话题
  • ¥15 paddle库安装时报错提示需要安装common、dual等库,安装了上面的库以后还是显示报错未安装,要怎么办呀?
  • ¥20 找能定制Python脚本的
  • ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
  • ¥15 用C语言怎么判断字符串的输入是否符合设定?
  • ¥15 通信专业本科生论文选这两个哪个方向好研究呀
  • ¥50 我在一个购物网站的排队系统排队,这个排队到号后重新定向到目标网站进行购物,但是有技术牛通过技术方法直接跳过排队系统进入目标网址购物,有没有什么软件或者脚本可以用