为什么在Shopify购物车/添加API中使用警报仅为firefox浏览器在购物车中添加产品?

时间:2019-03-30 10:26:44

标签: php jquery firefox shopify

我想在Shopify网站的购物车页面中添加产品。我正在使用Shopify cart / add.js API在购物车中添加产品。它可以在Google Chrome浏览器中使用,但是对于Firefox来说却无法使用。我在Mozilla Firefox中使用相同的API并在警报框中取消了操作?

我正在点击添加到购物车按钮执行活动

<button class="btn" id="add_raffle">
  <span id="AddToCartText-product-template">Add to cart</span>
</button>          

要发布的表格

<form action="/cart/add" id="raffle_prod">
<input type = "hidden" name="id" value = "13597453582389" id="raffle_variant">
<input type = "hidden" name="quantity" value = "1" > 
<input type="submit" style="display:none" id="raffle_submit">

jQuery代码

$('#add_raffle').click(function(event){
    var FIREFOX = /Firefox/i.test(navigator.userAgent);
    if (FIREFOX) {
         $('#raffle_submit').trigger("click");
         alert('Raffle tickets added. Thanks!');
    } else {
        var dataString = $('#raffle_variant').serialize();
        jQuery.post('/cart/add.js', dataString);
        alert('Raffle tickets added. Thanks!');
    }
});

此代码适用于Google chrome。

但是对于Firefox,以下代码不起作用。我需要发布表单,并在请求后使用警报,然后将产品添加到购物车中。

我想避免发出警报,并希望使用与Google chrome相同的api代码。

1 个答案:

答案 0 :(得分:0)

检查您的jQuery代码中的if语句。

已修复:

    $('#add_raffle').click(function(event){
    var dataString = $('#raffle_variant').serialize()
    jQuery.post('/cart/add.js', dataString)});