codeigniter и ajax не могут получить доступ к сообщению - PullRequest
0 голосов
/ 12 января 2010

На моем веб-сайте я использую ajax post запрос, чтобы показать контент вокруг моего сайта, это делается с помощью этого кода,

$("a.contentlink").click(function(ev) {
    ev.preventDefault();
    $('#main_menu').hide();
    var url = $(this).attr("href");
    var data = "calltype=full&url="+url;
    $.ajax({
        url:url,
        type: "POST",
        data: data,
        success : function (html) {
            $('#left-content-holder').html(html);
        }
    })
});

Как вы можете видеть, я передаю URL-адрес в `$ _POST 'и могу получить к нему доступ в методе, который вызывает javascript, этот метод называется get_content_abstract и выглядит так:

public function get_content_abstract() {

    $this->load->model('content_model');
    if($this->input->post('calltype') == "abstract"){
        if($query = $this->content_model->get_content_by_id($this->uri->segment(3))) {
            $data['abstract'] = $query;
        }
        $this->load->view('template/abstract', $data);
    }
        elseif($this->input->post('calltype') == "full") {
            if($query = $this->content_model->get_content_by_id($this->uri->segment(3))) {
                $data['full'] = $query;
            }
            $this->load->view('template/full-content', $data);
        }

}

Как бы то ни было, я не добавил новую функцию, которая позволит пользователю сохранять контент в «системе закладок», однако в моем методе я не могу получить доступ к сообщению, используя codeigniters $this->input-post('url') (где URL - это одна из частей данные, передаваемые в javascript), он говорит, что сообщение пусто, когда я дам дамп его, это делается с помощью этого метода,

    public function love_this() {
    die(var_dump($this->post->input('url')));
}

Может ли кто-нибудь помочь понять, почему этот метод пуст в этом методе love_this?

1 Ответ

1 голос
/ 12 января 2010

Не должен:

public function love_this() {
    die(var_dump($this->post->input('url')));
}

На самом деле быть

public function love_this() {
    die(var_dump($this->input->post('url')));
}

См .:

http://codeigniter.com/user_guide/libraries/input.html

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