2010-03-22 12 views
2

J'ai un lien, qui lie à domain.com, quand une personne clique, je veux faire un appel ajax à counter.php et poster 2 variables, donc il peut ajouter 1 aux vues pour ce lien.Comment faire un appel ajax onclick à un fichier php, avec jquery?

J'ai un lien:

<a href="http://www.domain.com" onClick="addHit('12345', '1')" rel="nofollow" target="_blank">Link Title</a> 

Comment pourrais-je faire avec jquery?

EDIT:

J'ai essayé quelque chose comme ça

function addHit(str, partNumber){ 
$.get("counter.php", { version: str, part: partNumber })     
} 

Il semble fonctionner, mais dans Firebug, la demande ne se termine jamais ... il ne vient que "travailler ..." animation. counter.php renvoie un peu de texte quand c'est fait (n'a pas besoin d'apparaître n'importe où).

Répondre

5

De la documentation jQuery: http://api.jquery.com/jQuery.ajax/

function addHit(data1, data2) 
{ 
    $.ajax({ 
     type: "POST", 
     url: "http://domain.com/counter.php", 
     data: "var1=data1&var2=data2", 
     success: function(msg){ 
     alert("Data Saved: " + msg); //Anything you want 
     } 
    }); 
} 
+0

Je regarde ce firebug thru, et il ne "termine" jamais les requêtes, il a juste une animation ... fonctionnante, comme si elle pendait. –

+0

Essayez d'accéder directement à PHP et voir le résultat. –

0

Vous devez ajouter un rappel sur le succès

function addHit(str, partNumber){ 
$.get(
"counter.php", 
{ 
version: str, 
part: partNumber 
}, 
function(data){ 
    alert("Data Loaded: " + data); 
}) 
)}; 
+0

Il y a un rappel de succès, et cela fonctionne. Pourtant, il fait toujours la danse tournante. –

+0

Hmmm, je l'ai essayé dans ma machine et le code et Firebug fonctionne. Je n'arrive pas à reproduire votre erreur de timeout. – lemon

0

Dans le cas d'une ancre, vous quittez la page, Firebug va montrer un comportement étrange ici car il pense que l'exécution s'arrêterait. À moins que vous n'empêchiez également le comportement par défaut de l'ancre ... vous quittez la page et la requête (dans la vue de Firebug) est ignorée.

Questions connexes