2009-09-24 4 views
3

je peux ajouter un produit au panier par GET avec ce lien:jQuery pour prendre url avec des variables d'un lien et l'envoyer via Ajax

<div id="add"><a id="add-link" href="http://localhost/catalog/cart?product_id=8&boutique_id[]=36&func=Module::Cart->add">Add to Cart</a></div> 

Je veux utiliser jQuery Ajax pour rester sur la même page (si JS est activé). J'ai épuisé ce qui suit, mais bien sûr, ça ne marche pas. Quelqu'un pourrait-il regarder s'il vous plaît ce qui ne va pas? Merci.

<script type="text/javascript"> 
$(document).ready(function(){ 

$('a#add-link').bind("click", function(event) { 
event.preventDefault(); 
var url = $(this).attr("href"); 
    alert("Now I want to call this page: " + url); 
$.ajax({ 
    type: "GET", 
    url: "url="+url, 
    success: function() { 
    alert("Product added to cart"); 
    } 
}); 
}); 

}); 
</script> 
+0

Vous pouvez utiliser $ ('# un add-link'). Cliquez sur (function (event) { Aussi, j'espère que le module :: Card-> ajouter n'est pas directement interprété comme code. Tu te laisses ouvert à toutes sortes d'attaques si tu le fais – Ryall

Répondre

7
 
var url = $(this).attr("href"); 
alert("Now I want to call this page: " + url); 
$.get(url, function (resp) { 
    alert("Product added to cart"); 
}); 
+0

Ooh, c'est mieux – lod3n

+0

Merci Anatoliy et à tous ceux qui ont répondu, ça marche maintenant –

+0

Vous êtes les bienvenus) – Anatoliy

1

Vous n'avez pas besoin "url =", il suffit d'utiliser

url: url, 
0

Prenez que "url =" +

De plus, url pourrait ne pas être la meilleure variable prénom.

1
$(document).ready(function(){ 
    $('a#add-link').bind("click", function(event) { 
    event.preventDefault(); 
    $.get($(this).attr('href'), function(data, status) { 
     alert("Product added to cart"); 
    }); 
});