2010-01-12 6 views
0

Sur mon site J'utilise la demande de poste ajax pour afficher le contenu dans mon site, cela se fait en utilisant ce code,CodeIgniter et ajax ne peuvent pas accéder au poste

$("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); 
     } 
    }) 
}); 

comme vous pouvez le voir je passe l'url dans le `$ _POST » et je peux accéder à ce dans la méthode des appels javascript, cette méthode est appelée get_content_abstract et ressemble à ceci,

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); 
     } 

} 

Comment jamais je n'ai pas ajouté une nouvelle fonction qui permettra à l'utilisateur d'enregistrer le contenu de «système de bookmarking», mais dans ma méthode, je ne peux pas accéder à la poste en utilisant codeigniters $this->input-post('url') (où URL est l'un des peices de données transmises dans le javascript), il dit que le poste est vide quand je var Dump, cela se fait en utilisant cette méthode,

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

quelqu'un peut-il aider à pourquoi le poste est vide dans cette love_this méthode?

Répondre

1

ne devrait pas:

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

être fait

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

Voir:

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

+1

Il a raison, vous savez. –

+0

Il est en effet, je dirais que c'était une erreur délibérée, mais je pense que cela me fait paraître pire. – Udders

+0

@ sico87 ... était-ce juste une erreur de copier/coller, ou est-ce que cela a réglé le problème? –

Questions connexes