使用jquery下拉填充来从codeigniter控制器获取数据

我想使用jquery和ajax填充下拉列表。

我的jquery电话是

 $(document).ready(function(){ $.ajax({ type: "GET", url: "user/getstate/", //the script to call to get data data:'', //you can insert url argumnets here to pass to api.php dataType: 'json', //data format success: function(data){ //on recieve of reply $("#state").append('State'); for(i in data) $("#state").append(""+data[i][1]+""); } }); });  

需要填充的部分是

   

控制器中的function是

 public function getstate(){ $this->load->model('usermodel'); $data=$this->usermodel->getstate(); echo json_encode($data); } 

从中获取数据的模型是

 public function getstate(){ $sql="SELECT * FROM statelist"; $query=$this->db->query($sql); $result=$query->result_array(); return $result; } 

statelist中的数据是

sid | Statename的

wb | 西孟加拉邦

ga | 果阿

我面临的问题是,当我加载页面时,我得到了预期的2个元素的下拉列表,但是以这种forms


未定义
未定义

现在我不明白为什么我得到“未定义”而不是像所需的或预期的数据


西孟加拉邦
果阿

一个解决方案真的会帮助我。

Jquery将你的json变成一个对象,所以你需要像下面那样引用它:

 data.i 

 data[i] 

就像你使用数组一样。

但我猜我不是你的钥匙。 如果您尝试在success参数中记录“console.log(data)”数据,您应该能够看到正确的密钥名称。