Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从ajax不工作CI返回的数组类型数据_Php_Jquery_Ajax - Fatal编程技术网

Php 从ajax不工作CI返回的数组类型数据

Php 从ajax不工作CI返回的数组类型数据,php,jquery,ajax,Php,Jquery,Ajax,我的系统中集成了一个汽车数据库,现在让我向您展示代码 AJAX $('#year').change(function() { $year=$("#year option:selected").text(); $('#make').html(""); $('#model').html(""); var obj={ year:$year }; $.ajax({

我的系统中集成了一个汽车数据库,现在让我向您展示代码

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);
                });
            }
        });
});
控制器

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打印对象。我尝试了许多不同的解决方案,但没有一个对我有效

试试下面的代码

您缺少
数据。每个
中的结果

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(数据、结果、函数(键、值){
//var append=''+value.name+'';
警报(值、型号、制造标识);
});

您不能将
$用于
字符串数据类型

$('#年')。更改(函数(){
$year=$(“#year选项:选中”).text();
$('#make').html(“”);
$('#model').html(“”);
var obj={
年份:$year
};
$.ajax({
键入:“post”,
url:'Home/ajax\u search\u step1',
数据类型:“json”,
资料来源:obj,
成功:功能(数据){
$data=JSON.parse(数据);
$.each(数据、结果、函数(键、值){
//var append=''+value.name+'';
警报(值、型号、制造标识);
});
}
});
});

尝试用此

$替换您的代码。每个(数据、函数(键、值){
应该是
$。每个(数据、结果、函数(键、值){
都像一个符咒一样工作!您能将此添加为注释以便我可以标记它吗!
    {
        "result": [
            {
                "model_make_id": "abarth"
            },
            {
                "model_make_id": "ac"
            },
            {
                "model_make_id": "acura"
            },
            {
                "model_make_id": "Alfa Romeo"
            },
            {
                "model_make_id": "alfa-romeo"
            }
    ]
}
$('#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);
                 });
                }
          });
    });