CodeIgniter的url分段无法使用我的JSON

时间:2012-05-11 23:13:52

标签: ajax json codeigniter url text-segmentation

这是我在这里的第一篇文章,我还没有想出要正确格式化我的帖子,但现在就去了。

所以基本上我只能直接指向php文件才能使我的代码工作。如果我尝试在我的控制器中调用一个方法,似乎什么也没发生。

我的JavaScript:

$(document).ready(function() {  
$(".guide_button").click(function(){

    var id = $(this).text();
    var data = {};
    data.id = id;

    $.getJSON("/guides/hehelol", data, function(response){
        $('#test').text(response.id);
    });
    return false;
});
});

我的标记:

<div id="content_pane">
<ul>
  <li><a href="#" name="temp" class="guide_button">RL</a></li>
  <li><a href="#">LG</a></li>
  <li><a href="#">RG</a></li>
  <li><a href="#">SG</a></li>
  <li><a href="#">GL</a></li>
  <li><a href="#">MG</a></li>                       
</ul>                   
</div>

<div class="description">
<h3>Description</h3>
<p id="test">This text area will contain a bit of text about the content on this section</p>
</div>

我的控制器:

<?php
class Guides extends CI_Controller {    

public function Guides()
{
    parent::__construct();

    $this->load->helper('url');
    $this->load->helper('form');
}   

public function index()
{
    $this->load->view('guides_view');
    $title = 'Some title';      
}   

public function hehelol() //The controller I am desperatly trying to call
{   
    $id = $_GET['id'];       
    $arr = array ('id'=>$id);
    echo json_encode($arr);
}           
}

可能是我的控制器我做错了。因为代码只有在创建一个hehelol.php文件并且像这样直接引用它时才有效。

$.getJSON("hehelol.php", data, function(response){
$('#test').text(response.id);
});

任何知道我需要做什么才能让控制器正常工作的人?请帮忙! :)

1 个答案:

答案 0 :(得分:0)

我只是将您的确切代码全部放在我的codeigniter应用程序中,它对我有用。意思是我使用了这个:...$.getJSON("/guides/hehelol",...

因为您要发出$_GET请求,所以必须启用查询字符串。

在config.php文件中,确保此行设置为TRUE

$config['allow_get_array']= TRUE;