2014-10-04 24 views
1

我正在開發與Codeigniter應用程序的網站,我有三個輸入<select>相互依賴;第二個<select>取決於第一個,第三個取決於第二個和第一個。我在jQuery中用ajax填充這些''。錯誤500當我做兩個與Codeigniter ajax請求

第一個和第二個'工作正常,但我有一個問題,當我填充第三個<select>。我在螢火蟲中回顧並且迴應是錯誤500,但功能與第二個相同。

該控制器的代碼是:

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)); 
} 

阿賈克斯的功能是:

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>'); 
    } 
} 

我知道,我的代碼是不是最好的,但是......有人可以幫我嗎?我有一天有這個問題,我找不到答案...

在此先感謝您。

來自墨西哥的問候。

回答

0

期間一些日子看我的每一個代碼的行後,我試圖改變這樣的:

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

通過這樣的:

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

而且......阿賈克斯它的工作! :D

真的我不明白爲什麼這個工作與$_POST而不是$this->input->post,因爲理論上,兩者都採取同樣的行動。

那麼,我回答我的問題,任何人都感興趣。

來自墨西哥的問候。