2011-09-02 2 views
0

Je passe de wordpress à codeignitor mais j'ai du mal à appeler une fonction de contrôleur à partir d'un message jquery voici mes fichiers.Jquery poste avec codeignitor

à mon avis à domicile Je possède ce

<a class="add_playlist" href="5657584"><img src="http://icons.iconarchive.com/icons/dryicons/simplistica/32/add-icon.png" alt="playlist"/></a> 

et ce dans le pied de page

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> 
    <script type='text/javascript'> 
    $('.add_playlist').live('click', function() { 

     alert('add'); 

     var video_url = $(this).attr('href'); 

      $.post("http://localhost/code/index.php/home/add_playlist", {video_url: video_url}, function(response) { 
       console.log(response); 

     }); 

    return false; 

}); 

donc ce que je suis en train de faire est d'envoyer cela à une fonction appelée add_playlist dans mon contrôleur de la maison. voici le code dans mon contrôleur domestique.

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Home extends CI_Controller { 

    function add_playlist(){ 

     $this->load->model('home_model'); 

     // if HTTP POST is sent, add the data to database 
     if($this->input->post('video_url')) { 

     $video_url = $this->input->post('video_url'); 

     $this->home_model->add($video_url); 

     } else { 

     } 
    } 

} 


    return false; 

}); 
</script> 

Et voici mon modèle maison

<?php 

class home_model extends CI_Model { 

    function add($data) { 

     $this->db->insert('playlist', $data); 

    } 

} 

Donc tout ce que je veux faire est d'ajouter le href à la base de données quelqu'un peut-il s'il vous plaît analyser cela et aide

Merci

c'est l'erreur son lancement

add_playlistPOST http://localhost/code/index.php/home/add_playlist 500 (Internal Server Error) 
+0

quelqu'un ?????????? – DCHP

+0

Je ne sais pas si c'est important, mais votre nom de modèle devrait être en majuscule: 'class Home_model extends CI_Model {', et '$ this-> Home_model-> add ($ video_url);'. –

+0

Vérifiez les paramètres de votre base de données. Assurez-vous que la classe de base de données est en cours de chargement et que votre nom d'utilisateur/mot de passe est correct. –

Répondre

2

Le code dans votre contrôleur de la maison a javascript voyous en bas:

return false; 

}); 
</script> 

?

devrait ressembler à ceci:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Home extends CI_Controller { 

    function add_playlist(){ 

     $this->load->model('home_model'); 

     // if HTTP POST is sent, add the data to database 
     if($this->input->post('video_url')) { 

     $video_url = $this->input->post('video_url'); 

     $this->home_model->add($video_url); 

     } else { 

     } 
    } 

} 
+0

+1: Comment ai-je manqué ça? –

+0

@Rocket Vous ne voyez jamais vraiment rien jusqu'à ce que vos yeux se concentrent dessus :) – stormdrain