-
-
Save bjornbennett/695db8f004caa574e7ca1f2035259471 to your computer and use it in GitHub Desktop.
// on anchor click, after 300ms, fetch cart count. | |
$('a').click(function(){ | |
setTimeout(function(){ | |
$.getJSON('/cart.js', function(cart){ | |
var result = cart.item_count; | |
console.log(result); | |
}); | |
},300); | |
}); |
Sure does. The JSON call still retrieves the .item_count. You can test it out here at this test store:
https://loft-theme-demo-nashville.myshopify.com/products/squared-padded-chair. Add some items to the cart, and paste this into the dev console:
setTimeout(function(){ $.getJSON('/cart.js', function(cart){ var result = cart.item_count; alert(result + ' items in cart.'); }); },500);
Thanks for that script! Really helpful!
Why we use here setTimeout?
Thanks for that script! Really helpful!
Why we use here setTimeout?
@zaliVAT No problem! I believe I was having issues with it firing too soon maybe (can't remember!), so I delayed it by 300ms. You could easily remove it and if it works, you'll probably be fine. Just remove line 4 & 9 and you're good to go.
I used your code.
But its show an error
Access to XMLHttpRequest at 'https://shop.test.co.nz/cart.json' from origin 'https://testDomain.nz' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Hmm not sure why you're getting an error for cart.json, although the code sends an AJAX request to cart.js. Are you sending an AJAX request to cart.json instead? Typo maybe? I just tried it again on the link above and it appears to still be functional.
Can I get the current item count in the customers cart with this?
What I am trying to achieve is:
Is first step of this possible with this script?