天天看點

記錄一個CI、jquery、ajax(post)的電腦小例子

新手,記錄一下做的練習 +

-

x

÷ =

視圖代碼

<!DOCTYPE html>
<html >
<head>
	<meta charset="utf-8">
	<title>CodeIgniter jquery ajax Test</title>
</head>

<body>
<div id="calculators">
        <form>
                <input type="text" id="num1" />
                <select name="operate" id="operate">
                        <option value="add">+</option>
                        <option value="sub">-</option>
                        <option value="mul">x</option>
                        <option value="div">÷</option>
                </select>
                <input type="text" id="num2" />=
                <input type="text" id="result" disabled="disabled"/>
                <input type="button" id="calculate" value="calculate" />
        </form>
</div>
<script type="text/javascript" src="/js/libs/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="/js/calculate.js"></script>
</body>
</html>
           

js代碼

$(document).ready(function(){
    $("#calculate").click(function(){
        $.post("index.php/welcome/calculate",
            {
                num1:$("#num1").val(),
                operate:$("#operate").val(),
                num2:$("#num2").val()
            },
            function(data,status){
                $("#result").val(data);
            });
    });
});
           

控制器代碼

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

class Welcome extends CI_Controller
{

    //constructor
    public function __construct()
    {
        parent::__construct();
        $this->load->model('calculate_model');
    }
    //default method
	public function index()
	{
		$this->load->view('calculate_view');
	}
	//test
	function calculate() {
            $num1 = $_POST['num1'];
            $op = $_POST['operate'];
            $num2 = $_POST['num2'];
            $result = $this->calculate_model->calculate($num1, $num2, $op);
            echo $result;
    }
}
           

模型代碼

<?php
class Calculate_model extends CI_Model {

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

        function calculate($num1, $num2, $op) {
            $num1_ = (float)$num1;
            $num2_ = (float)$num2;
                if ($op == "add") {
                        return $num1_ + $num2_;
                }else if ($op == "sub") {
                        return $num1_ - $num2_;
                }else if ($op == "mul") {
                        return $num1_ * $num2_;
                }else if ($op == "div" && $num2_ != 0) {
                        return $num1_ / 1.0 / $num2_;
                }else {
                        return -999;
                }
        }
}