Php Can';t使用ajax从codeigniter函数获取数据
到目前为止,我得到的是: 此函数用于从模型返回数据:Php Can';t使用ajax从codeigniter函数获取数据,php,jquery,ajax,codeigniter,Php,Jquery,Ajax,Codeigniter,到目前为止,我得到的是: 此函数用于从模型返回数据: function get_user2() { $this->load->model('my_model'); $id=$this->input->post('users1'); $users2=$this->my_model->get_relations($id); return $users2; } 模型功能: function get_relations($usr
function get_user2()
{
$this->load->model('my_model');
$id=$this->input->post('users1');
$users2=$this->my_model->get_relations($id);
return $users2;
}
模型功能:
function get_relations($usr)
{
$this->db->where('id',$usr);
$rel=$this->db->get('relacion');
if($rel->num_rows!=0)
{
$relacion=array();
foreach ($rel->result_array() as $row)
{
$relacion[]=array(
'id'=>$row['id'],
'username1'=>$row['username1'],
'username2'=>$row['username2'],
);
}
return $relacion;
}else{
return false;
}
}
在我看来:
<select name="users1" id="drop1">
<?php
if($opciones!=false){
foreach ($opciones as $row) {
echo '<option value="'.$row['user_id'].'">'.$row['username'].'</option>';
}
}
?>
</select>
<script src="jquery.js"></script>
<script type="text/javascript">
$("#drop1").change(function(){
$.ajax({
type: "POST",
url: "example.com/CI/index.php/evaluation/get_user2",
data: "users1="+$('#drop1').val(),
success: function(){
alert('it works!');
}
});
});
</script>
$(“#drop1”).change(函数(){
$.ajax({
类型:“POST”,
url:“example.com/CI/index.php/evaluation/get_user2”,
数据:“users1=“+$('\35; drop1').val(),
成功:函数(){
警惕(“它工作!”);
}
});
});
我想用controller函数返回的选项填充第二个下拉列表,但是ajax请求没有做任何事情,所以我甚至没有谈到这一部分。有人能帮我找出毛病吗?我已经测试了控制器和模型的功能,它们可以正常工作。你能告诉我如何填写第二个下拉列表的选项吗?
多谢各位 在一个项目中,我有一个非常类似的代码,可以根据用户选择的岛屿获得一些城市。因此,选择将更改,加载城市并启用第二个选择。主要区别在于传递数据的方式
<script type="text/javascript">
$("#idisla").change(function(){
if($("#idisla").val()!=""){
var dato=$("#idisla").val();
$.ajax({
type:"POST",
dataType:"html",
url:base_url+"admin/centros/municipios_select",
data:"idislajs="+dato,
success:function(msg){
$("#idmunicipio").empty().removeAttr("disabled").append(msg);
callback();
}
});
}else{
$("#idmunicipio").empty().attr("disabled","disabled");
}
});
</script>
您能看到是否执行了ajax请求吗?您可以使用firebug或chrome的内置工具。你加载输入库了吗?输入库是一个系统库,它总是被加载的,这不是问题所在。使用Chrome,按f12,查看js控制台显示的错误(如果已经安装了Firefox和firebug,则使用Firefox和firebug)
function municipios_select()
{
//el idIsla viene dado por el value del combo islas
$isla = $this->input->post('idislajs');
$data['municipios'] = $this->municipios_model->obtenMunicipios($isla);
echo $this->load->view("site/municipios_select",$data, TRUE);
}