使用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)”数据,您应该能够看到正确的密钥名称。