2009-12-08 5 views
0

J'ai ce code pour essayer de appeler une méthode de mon contrôleur CodeIgniter,appeler une méthode avec jQuery AJAX

$("#Blog").click(function() { 
     var url = $(this).attr("href"); 
     $.ajax ({ 
      url: "index.php/home/category", 
      type: "POST", 
      success : function (html) { 
       $("#right-content").append(html); 
      } 
     }); 
    }); 

Le ajax ne semble pas être avoir tiré, est-il quelque chose que je suis absent, le #Blog représente l'identifiant d'un lien dans mon menu de navigation, tout ce qui arrive est que le lien fonctionne normalement.

Quelqu'un s'il vous plaît aider :-(

+0

Il convient de noter que la méthode appelée obtient l'URI de l'URL pour construire une requête de base de données, donc je ne suis pas sûr de savoir si POST est bon paramètre – Udders

Répondre

1

Vous devez empêcher le comportement de lien normal d'avoir lieu

$("#Blog").click(function (e) { 
    var url = $(this).attr("href"); 

    // Block the normal click action 
    e.preventDefault(); 

    // Create post 
    $.post (
     "index.php/home/category", // <- request URI 
     {url: url},    // <- any data goes here 
     function (html) {   // <- callback 
      $("#right-content").append(html); 
     } 
    }); 
}); 
.

, vous pouvez également consulter la documentation $.post.

1

Si vous overridding cliquant sur les ancres, souvenez-vous de bloquer le comportement par défaut du lien (c.-à-saut à la page liée).

Vous pourriez commencer par un changer:

$("#Blog").click(function (ev) { 
      ev.preventDefault(); 
      var url = // ... the rest as before. 
Questions connexes