1

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

所以基本上,如果我直接指向一个 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);
});

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

4

1 回答 1

0

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

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

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

$config['allow_get_array']= TRUE;
于 2012-05-11T23:20:13.953 回答