我的系统中集成了一个汽车数据库,现在让我给你看一下代码
AJAX
$('#year').change(function() {
$year=$("#year option:selected").text();
$('#make').html("");
$('#model').html("");
var obj={
year:$year
};
$.ajax({
type: 'post',
url: '<?=base_url()?>Home/ajax_search_step1',
dataType: 'json',
data:obj,
success: function (data) {
$data=JSON.stringify(data);
//alert("here");
$.each(data, function(key, value) {
//var append='<option value='+value.id+'>'+value.name+'</option>';
alert(value.model_make_id);
});
}
});
});
发生的事情是将一年作为参数传递给控制器
MODEL
function ajax_search_step1($year){
$query="SELECT DISTINCT model_make_id FROM `tbl_02_models`";
$this->db->where("model_year" ,$year);
$query=$this->db->query($query);
return $query->result_array();
}
控制器
public function ajax_search_step1()
{
$year=$this->input->post("year");
$data['result']=$this->Car_search->ajax_search_step1($year);
echo json_encode($data ,JSON_PRETTY_PRINT);
exit();
}
这就是php返回响应的方式!
{
"result": [
{
"model_make_id": "abarth"
},
{
"model_make_id": "ac"
},
{
"model_make_id": "acura"
},
{
"model_make_id": "Alfa Romeo"
},
{
"model_make_id": "alfa-romeo"
}
]
}
现在问题是我无法在javascript中打印对象我尝试了许多不同的解决方案,但它们都没有为我工作!
答案 0 :(得分:1)
请尝试以下代码。
您在data.result
each
var data = {"result": [{"model_make_id": "abarth"},{"model_make_id": "ac"},{"model_make_id": "acura"},{"model_make_id": "Alfa Romeo"},{"model_make_id": "alfa-romeo"}]};
$.each(data.result, function(key, value) {
//var append='<option value='+value.id+'>'+value.name+'</option>';
alert(value.model_make_id);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 1 :(得分:1)
您无法将$.each
用于string data type
$('#year').change(function() { $year=$("#year option:selected").text(); $('#make').html(""); $('#model').html(""); var obj={ year:$year }; $.ajax({ type: 'post', url: '<?=base_url()?>Home/ajax_search_step1', dataType: 'json', data:obj, success: function (data) { $data=JSON.parse(data); $.each(data.results, function(key, value) { //var append='<option value='+value.id+'>'+value.name+'</option>'; alert(value.model_make_id); }); } }); });
尝试使用此
替换您的代码