我正在尝试使用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);
});
});
});
答案 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);
});
});
});