如何从codeigniter中的控制器调用ajax函数

时间:2014-05-15 12:33:48

标签: javascript php jquery ajax codeigniter

我需要在codeigniter中创建国家/地区下拉列表。 onchange事件我调用另一个名为ajax.php的项目控制器我需要知道如何获取url并将数据发送到codeigniter中的url。

我的ajax功能是

var base_url = "<? echo base_url()?>";

        function getstate(value) {

                if (value !== '') {

                  //alert('test');

                    $.ajax({
                        type: "POST",
                        url:base_url+"adminzone/ajax/ajax.php",
                        data: "do=getstate&value=" + value,
                        success: function(msg) {

                            alert(msg);

                            //$('#psid').html("<img src='images/spacer.gif'>");

                            $('#reg1').html(msg);


                            //

                            //$('#sid').sSelect({ddMaxHeight: '300px'});

                        },
                        error: function() {
                            //alert('some error has occured...');
                        },
                        start: function() {
                            //alert('ajax has been started...');    
                        }
                    });
                }
            }

我的ajax控制器是

<?php

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

//error_reporting(0); class ajax extends CI_Controller {

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

        if (!$this->session->userdata('admin_logged_in')) {

            redirect('adminzone');
        }
        $this->load->model('doctor_model');
    }

    public function getstate(){
        echo $this->input->post();exit;
    }
     }

1 个答案:

答案 0 :(得分:0)

视图中的ajax功能

  $('#countryfield').change(function() {
        var passedvalue = $('#countryfield').val();
        var path = base_url+"ajax/getState";
        $.ajax({
            type: "POST",
            url: path,
            data: {'passedvalue': passedvalue},
            success: function(data) {
                if (data) {
                    alert(success);//task done on success
                }
            },
            error: function() {
                    alert('some error occurred');
                },
          });
      })

现在你可以在ajax.php控制器中编写函数了。 函数名应为getState

     public function getstate(){
       echo $this->input->post('passedvalue'); //now here you can perform your task
         exit;
       }

现在,您可以在控制器中执行任务并回显要传递给视图的值。