2017-02-01 1 views
0
$.ajax({ 
            type: 'POST', 
            url: '/cart/add.js', 
            data: { 
             quantity: 1, 
             id: form_data 
            }, 
            success: function(response) { 
             console.log('in success'); 
             var url = $("#af-btn").attr("href"); 

             window.location.href = $("#af-btn").attr("href"); 
            }, 
            error: function(response) { 
             console.log(response + "in error"); 
             var url = $("#af-btn").attr("href"); 

             //window.location.href = $("#af-btn").attr("href"); 

            }, 
            complete: function(response) { 
             console.log(response); 
            } 
           }); 

Выше мой запрос AJAX. Ниже приведен объект ответа.
Object Response shows 200 OK response
Добавить в корзину для анонимного поведения, иногда продукт добавляется, а иногда и продукт не добавляется. Не могу понять. Есть идеи?
Ниже приводится form_data
Form Data
Как получить свою ценность,
AJAX POST-запрос на Shopify's /cart/add.js всегда возвращается к функции обратного вызова ошибки

var form_data = $('form[action="/cart/add"]').find('select[name="id"]').find(":selected").val(); 
+0

ответ, кажется, в порядке (statusText = ok, responseText - строка json) ... какая ошибка? –

+0

код в функции обратного вызова всегда выполняется, а не функция успешного завершения кода. – awebartisan

+0

Используйте другие параметры для события ошибки, чтобы получить более подробную информацию: Заменить «error: function (response) {console.log (response +« in error »); с: "error: function (response, txtStatus, txtThrown) {console.log (txtStatus); console.log (txtThrown);}" –

ответ

0

Это, как я решил его для использования Shopify Ajax Апи в Shopify приложение, чей сценарий был добавлен через Shopify Admin API Script Тег.

1- Нагрузка Shopify JQuery Ajax Api Упаковочный

function loadShopifyAjaxApiScript() 
{ 

var script = document.createElement("script"); 
script.rel = "text/javascript"; 
script.src = "https://cdn.shopify.com/s/assets/themes_support/api.jquery-0ea851da22ae87c0290f4eeb24bc8b513ca182f3eb721d147c009ae0f5ce14f9.js"; 
document.getElementsByTagName("head")[0].appendChild(script); 

} 

2- Затем используйте его, как показано ниже:

  Shopify.addItem(variantId , 1 , function() { 
      console.log('success'); 
     }); 

ресурсов Ссылка: API jQuery Ajax Shopify Sandbox объект

1

Стандартный AJAX вызов бросает ошибки для меня, а в одном случае (даже мысль продукт был включен в корзину) ,

Так что вместо этого я использовал свой API для вызова AJAX. Вот ссылка на все функции: http://mayert-douglas4935.myshopify.com/pages/api

Например, добавив элементы легко, как:

Shopify.addItem($productVal, $productQTY, function(){ 
    // Do Something here once the product is added 
    console.log('Success!!!') 
    }); 

PS:

Имейте в виду, что вам будет необходимо включить этот скрипт в для того чтобы иметь доступ к призывам:

{{ 'api.jquery.js' | shopify_asset_url | script_tag }} 
+0

Могу я использовать их jquery где угодно? потому что я не разрабатываю тему shopify, я разрабатываю приложение, использующее PHP. – awebartisan

Смежные вопросы