Php CodeIgniter给了我404错误,但我可以在Firebug中看到响应
我已经在SO中读到一些非常类似的问题,但没有一个解决方案对我有效 例如,视图中的代码存在以下问题:Php CodeIgniter给了我404错误,但我可以在Firebug中看到响应,php,ajax,codeigniter,Php,Ajax,Codeigniter,我已经在SO中读到一些非常类似的问题,但没有一个解决方案对我有效 例如,视图中的代码存在以下问题: $.ajax({ url: 'periodista/json', async: false, dataType: 'json', success: function (json) { $.each(json, function(k,v){valores.push(v); }); } 我得到一个404NotFound错误,但Firebug向我显示了响应(http://i.imgur.com/yG
$.ajax({
url: 'periodista/json',
async: false,
dataType: 'json',
success: function (json) {
$.each(json, function(k,v){valores.push(v); });
}
我得到一个404NotFound错误,但Firebug向我显示了响应(http://i.imgur.com/yG9cW.png)
我尝试从一个简单的php脚本中读取url响应,该脚本带有file_get_contents函数,但它不起作用
$url="http://localhost/xampp/populus/wordpress/app/periodista/json";
$json = file_get_contents($url);
我得到了相同的答案(404错误,我可以在Firebug中读取响应)
我尝试过使用“index.php”URL,在htaccess的帮助下使用不带index.php的URL,并使用完整的URL,但没有任何效果。我没有使用wordpress
我想当我尝试访问视图时控制器没有加载,但我不知道为什么
编辑:我的控制器功能代码(我正在使用Ignited Datatables库):
尝试设置内容类型json并将其输出,而不是加载视图,如:
public function json() {
$datatables = new Datatables();
$datatables->select('nro_boletin')->from('proyecto_de_ley');
echo $datatables->generate();
$data['title'] = "Periodista";
$this->output
->set_content_type('application/json')
->set_output(json_encode($data));
//OR
header('Content-Type: application/json',true);
echo json_encode($data);
}
由于您使用的是ajax,因此会调用您的函数
$.ajax({
url: 'periodista/json', <-- your controllers function
data: {"test" : "test" },
async: false,
dataType: 'json',
success: function (json) { //output from your json function
$.each(json, function(k,v){valores.push(v); });
}
$.ajax({
url:'periodista/json',我遇到了类似的问题,我必须手动设置标题
public function get_prev_input_data()
{
header("HTTP/1.1 200 OK");
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
$userdata = [
"id" => 5,
"username" => "captain hook",
];
$prev = [
"a1" => 123,
"a2" => 46,
];
$response = [
"userdata" => $userdata,
"previnput" => $prev
];
echo json_encode($response);
}
所以你应该加上这一行
header("HTTP/1.1 200 OK");
在你的json()函数中。你能在你的控制器中显示代码吗?@user1877722请在你的问题中添加代码(通过编辑它),而不是作为注释。你不应该加载视图。试试$this->output->set\u content\u type('application/json')->set\u output(json\u encode($data))
对不起,这里有控制器代码。好的,但是如果我不加载视图,我如何访问json()函数?我如何在不加载视图的情况下调用此函数?您不需要加载视图,即您的控制器函数(json)如果我输入periodista/json,我可以看到json数据,但只有在chrome中,在firefox中,它会给我一个找不到的文件。你能尝试将你的ajax url更改为::url:“periodista/json”非常感谢,但它仍然不起作用。我不知道这是否是问题所在,因为我无法使用file\u get\u contents方法,我不知道为什么当我不加载视图时,它在firefox中不起作用
header("HTTP/1.1 200 OK");