0

私は1つの変数で2つの配列を取得し、このようなjsonを作成する関数を持っています

function get_categories_n_subs_by_id($id){ ///this is category id;
    header('Content-type: application/json');
    $data['categories'] = $this->categories_model->get_categories_by_id($id);
    $data['sub_categories'] = $this->sub_categories_model->get_sub_categories_by_cat_id($id);
    echo json_encode($data);
}

このコードはうまく機能していましたが、PC を再起動すると、json からの応答がありません。

先ほどの対応は大丈夫でこんな感じでした

{
  "categories":{
    "fld_id":"106",
    "fld_value":"some value",
    "fld_price":"0.00",
    "fld_attribute_id":"16",
    "fld_parent_id":"0" 
  },
  "sub_categories":[{
    "fld_id":"107",
    "fld_value":"some sub values",
    "fld_price":"0.00",
    "fld_attribute_id":"16",
    "fld_parent_id":"106"
   }]
}

しかし、今は応答がありません。この関数の json 呼び出しは次のとおりです。

var url = base_url+"admin/categories_controller/get_categories_n_subs_by_id/"+id;
    $.getJSON(url, {ajax:1}, function(data){
        var id = data['categories']['fld_id'];
        var name = data['categories']['fld_name'];
        var description = data['categories']['fld_description'];
        //var status = data['fld_status'];

        $("#new_category #name").attr('value',name);
        $("#new_category #description").html(description);
        $("#new_category #category_id").attr('value',id);
        var html="";
        if(data['sub_categories'].length==0){
            html = html + 'Sub Categories: <input type="text" id="sub_name[]" name="sub_name[]" maxlength="40"  value=""/>'+
                        ' Description: <textarea id="sub_description[]" name="sub_description[]"></textarea>'+
                        '<input type="hidden" id="sub_cat_id[]" name="sub_cat_id[]" value="">'+
                        '&nbsp;&nbsp;&nbsp;&nbsp;'+
                        '<a href="javascript:void(0);" class="add_attribute_values" onclick="add_sub_categories(this.name);" name="sub_cat_0">[+]</a>&nbsp;&nbsp;<br/>';
        }
        $.each(data['sub_categories'], function(index, array) {
            var id = array['fld_id'];
            var name = array['fld_name'];
            var description = array['fld_description'];
            html = html + 'Sub Categories: <input type="text" id="sub_name[]" name="sub_name[]" maxlength="40"  value="'+name+'"/>'+
                        ' Description: <textarea id="sub_description[]" name="sub_description[]">'+description+'</textarea>'+
                        '<input type="hidden" id="sub_cat_id[]" name="sub_cat_id[]" value="'+id+'">'+
                        '&nbsp;&nbsp;&nbsp;&nbsp;'+
                        '<a href="javascript:void(0);" class="add_attribute_values" onclick="add_sub_categories(this.name);" name="sub_cat_0">[+]</a>&nbsp;&nbsp;<br/>';
        });
        //alert(html);
        $("#sub_cat_0").html(html)
    });

PC を再起動する直前まではすべて正しかったのですが、その後、firebug をチェックしている間、json からの応答がありません。応答は空です...このバグで私を助けてください...

4

1 に答える 1

0

問題は解決されました。PC を再起動する前に、次のような IP アドレスを使用していました。

http://192.168.1.2

そして再起動後、私は使用していました

http://localhost

そして、codeigniter構成ファイルでhttp://192.168.1.2、jsonに影響を与えるように構成しました...だから、これをしている間は覚えておいてください...

于 2013-05-07T06:50:04.223 に答える