当我使用Codeigniter执行两个ajax请求时出错500

时间:2014-10-04 15:26:51

标签: jquery ajax codeigniter

我正在使用Codeigniter开发一个应用程序Web,我有三个输入<select>,它们彼此依赖;第二个<select>取决于第一个,第三个取决于第二个和第一个。我用jQuery中的ajax填充这些''。

第一个和第二个''工作正常,但是当我填充第三个<select>时我遇到了问题。我在firebug中查看过,响应是错误500,但功能与第二个''相同。

Controller的代码是:

function llenarParroquias() {
    $zona = $this->input->post('zona');
    $decanato = $this->input-post('decanato');

    $this->load->model('Varios_model');
    $parroquias = $this->Varios_model->datosParroquias($zona, $decanato);
    foreach ($parroquias->result() as $parroq)
    {
        $arrParroquias[] = $parroq;
    }
    exit(json_encode($arrParroquias));
}

Ajax的功能是:

    function obtenerParroquias(direccion) {
    $('#parroquia').html('');

    var id_zona = $('#vicaria').val();
    var id_decanato = $('#decanato').val();

    $.ajax({
        type: 'POST',
        url: direccion + 'index.php/datos/llenarParroquias/',
        data: { zona: id_zona, decanato: id_decanato },
        dataType: 'json'
    }).done(comboParroquias);
}
function comboParroquias(parroqs) {
    for (var i = 0; i <= parroqs.length - 1; i++) {
        $('#parroquia').append('<option value ="' + parroqs[i][0] + '">' + parroqs[i][2] + '</option>');
    }
}

我知道我的代码不是最好的,但是......有人可以帮帮我吗?我有一天有这个问题,我找不到答案......

提前谢谢。

来自墨西哥。

1 个答案:

答案 0 :(得分:0)

在某些日子里读完我的代码之后,我尝试改变这个:

$zona = $this->input->post('zona');
$decanato = $this->input-post('decanato');

由此:

$zona = $_POST['zona'];
$decanato = $_POST['decanato'];

并且...它运作的Ajax !!! :d

我真的不明白为什么这项工作与$_POST一起使用而不能与$this->input->post一起使用,因为理论上它们都会采取相同的行动。

好吧,我回答我的问题,感谢任何有兴趣的人。

来自墨西哥。