JQuery. Пост и проблема Codeigniter - PullRequest
0 голосов
/ 30 января 2012

Я пытаюсь использовать $ .post для отправки данных в контроллер и получения возвращенных данных. Я использую project_detail / pub в качестве моего назначенного URL и хочу вернуть $go из контроллера. Тем не менее, возвращаемые данные - это html-страница из функции «show», а не «pub». Я понятия не имею, что происходит. Пожалуйста помоги. Большое спасибо.

просмотр страницы: код Jquery

$(document).ready(function(){
    $('#update').click(function(){
    var tableVal=new Array();
        //get the value from table td       
        $('#projects tr td').each(function (){
            tableVal[this.id] = $(this).text();
        });

        //send data to the controller 'project_detail' and function 'pub' with .post    
        $.post('project_detail/pub', {'tableVal':tableVal},function(result)
        {
            alert(result);
        })
    })
});

Код контроллера

class Project_detail extends CI_Controller{

    function __construct()
    {
        parent::__construct();
    }

    //The url I send to with .post and want to return $go 
    public function pub()
    {
    $go='test! test!';
    return $go;
    }

    //for some reasons, `$this->load->view('include/template', $data)` is loaded to the     
    //result in view page instead of $go
    public function show () 
    {                   
        $data['view']='project_detail_V';
        $this->load->view('include/template', $data);

    }


}     

Ответы [ 2 ]

0 голосов
/ 04 апреля 2012

вы можете попробовать это

Javascript

$(document).ready(function(){
    $('#update').click(function(){
    var tableVal=new Array();
        //get the value from table td       
        $('#projects tr td').each(function (){
            tableVal[this.id] = $(this).text();
        });

        //send data to the controller 'project_detail' and function 'pub' with .post    
        $.post('project_detail/pub', {'tableVal':tableVal},function(result)
        {
            alert(result);
        },'json');
    })
});

Контроллер

public function pub()
{
   $go='test! test!';

   echo json_encode($go);
}
0 голосов
/ 20 февраля 2012

Вы нигде не выводите значение.Попробуйте вместо этого.

//The url I send to with .post and want to return $go 
public function pub()
{
   $go='test! test!';
   print $go;
}

Вы также можете использовать firebug или аналогичных инспекторов, чтобы увидеть, какие значения вы получаете от CI во время запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...