我知道AJAX
对CodeIgniter
的调用是如何工作的。
修改建议的答案
我尝试
redirection
作为解决问题的可能方法。我不是问这个问题。我有问题通过URL传递参数并重用包含ajax post call
的视图。另外,我不知道如何发布已经成为state_id
表单一部分的单个值new_admission
。
我在city names
动态加载state_id
branch
$(document).ready()
当我从load_city()
致电admission()
时,它的工作非常完美。
XHR
的{p> load_city
就像:
本地主机/ project_folder /控制器/ load_city
但是当我尝试edit_admission($studentId)
时,它会在admission_view
内递归加载<div id="city"></div>
。
XHR
的{p> load_city
就像:
本地主机/ project_folder /控制器/ edit_admission / load_city
此处load_city
被视为参数,edit_admission()
被递归调用。
控制器:
public function load_city()
{
//load cities to $data from model
$this->load->view('city_view', $data);
}
public function admission()
{
//load init data for admission view from model
$this->load->view('admission_view', $data);
}
public function edit_admission($studentId)
{
//load init data for admission view from model
$this->load->view('admission_view', $data);
}
AJAX
代码:
function get_city() {
var parameters = {}; //instantiate the array
parameters['state_id'] = state_id;
$('#divcity').load('load_city', parameters, function (data) {
$('#city').combobox();
//code
});
};
load_city
查看:
<?php
echo '<select class="'.'form-control chzn-select col-lg-8 required'.'" id="'.'city'.'" name="'.'city'.'">';
echo '<option></option>';
foreach ($init_city['city_names'] as $row)
{
echo '<option value="'.$row->city_id.'">' .$row->city_name.'</option>';
}
echo '</select>';
?>
admission_view
:
<div class="form-group">
<label class="control-label col-lg-4">City</label>
<div class="col-lg-8" id="divcity" name="divcity"></div>
</div>
我试过
public function edit_admission($studentId)
{
if(intval($studentId) > 0){
//load init data for admission view from model
$this->load->view('admission_view', $data);
} else if($studentId == 'load_city'){
//not passing post data to load_city()
redirect('branch/load_city');
}
}
以上代码未将发布数据传递给load_city()
。
另外,我尝试在routes.php
$route['edit_admission/load_city'] = 'load_city';
在这两种情况下我都没有取得任何成功。