错误404 getJson在Codeigniter中检索本地json文件

时间:2017-01-11 03:55:31

标签: php jquery json ajax codeigniter

我正在尝试使用CodeIgniter$.getJson在我的脚本的同一文件夹中加载Json文件。

我已经尝试更改网站根目录和应用程序文件夹中的.htaccess内容,将加载路径更改为

.$getJson("<?php echo base_url...")

并且没有工作。它总是显示相同的错误:

  

jquery.min.js:4 GET   http://www.my-site.com/index.php/admin_cotrol/shop_list.json   404(未找到)

这是我的剧本:

$(window).load(function() {
    $('#search').keyup(function() {
        var searchField = $('#search').val();
        var regex = new RegExp(searchField, "i");
        var output = '<div class="row">';
        var count = 1;
        $.getJSON("shop_list.json", function(data) {
            $.each(data, function(key, val) {
                if ((val.name.search(regex) != -1) || (val.location.search(regex) != -1)) {
                    output += '<div class="col-md-6 well">';
                        output += '<div class="col-md-7">';
                            output += '<h5>' + val.productName + '</h5>';
                            output += '<p>' + val.productPrice + '</p>'
                            output += '<p>' + val.ProductDiscount + '</p>'
                        output += '</div>';
                    output += '</div>';
                    if(count%2 == 0) {
                        output += '</div><div class="row">'
                    }
                    count++;
                }
            });
            output += '</div>';
            $('#show_results').html(output);
        }); 
    });
});

2 个答案:

答案 0 :(得分:1)

建议将文件移到根目录下的新目录中。

例: /static/json/shop_list.json

然后您可以使用以下方式访问:

$.getJSON("/static/shop_list.json", function(data) {

答案 1 :(得分:0)

首先将你的json文件放在具有assets文件夹的root文件中。assets/shop_list.json。然后在application/controller中创建一个具有函数loadjson()的控制器另存为Json.php

class Json extends CI_Controller
{

    function __construct()
    {
        parent::__construct();
        $this->load->helper('url'); //loads url helper
    }

    public function loadjson()
    {
        $this->load->view('json');
    }
}

application/views内创建包含脚本的视图json.php

$(window).load(function() {
    var url = "<?php echo base_url('assets/shop_list.json');?>";
    $('#search').keyup(function() {
        var searchField = $('#search').val();
        var regex = new RegExp(searchField, "i");
        var output = '<div class="row">';
        var count = 1;
        $.getJSON(url, function(data) {
            $.each(data, function(key, val) {
                if ((val.name.search(regex) != -1) || (val.location.search(regex) != -1)) {
                    output += '<div class="col-md-6 well">';
                        output += '<div class="col-md-7">';
                            output += '<h5>' + val.productName + '</h5>';
                            output += '<p>' + val.productPrice + '</p>'
                            output += '<p>' + val.ProductDiscount + '</p>'
                        output += '</div>';
                    output += '</div>';
                    if(count%2 == 0) {
                        output += '</div><div class="row">'
                    }
                    count++;
                }
            });
            output += '</div>';
            $('#show_results').html(output);
        }); 
    });
});