Как получить GID постоянной тележки Shopify после добавления предмета в корзину?Javascript

Форум по Javascript
Ответить
Anonymous
 Как получить GID постоянной тележки Shopify после добавления предмета в корзину?

Сообщение Anonymous »

Я строю расширение приложения Shopify Theme, и в рамках функциональности моего расширения я хочу отслеживать изменения корзины и отправить их на свой бэкэнд.

Код: Выделить всё

interceptCartRequests() {
const originalFetch = window.fetch;
const self = this;

window.fetch = async function (...args) {
const response = await originalFetch.apply(this, args);
const url = args[0]?.toString() || "";

if (url.includes("/cart/add") || url.includes("/cart/update") || url.includes("/cart/change")) {
setTimeout(() => {
self.checkCartChanges();
}, 100);
}

return response;
};
}

async checkCartChanges() {
const cartToken = await this.getCartToken();
...
}

async getCartToken() {
try {
const response = await fetch("/cart.js");
if (!response.ok) throw new Error("Failed to fetch cart");

const cart = await response.json();
return cart.token;
} catch (error) {
utils.error("Error fetching cart token:", error);
return null;
}
}
< /code>
Как вы можете видеть выше, я использую API Ajax для извлечения GID телеги из моего расширения. b3d1fd695ce07e26efeb33ae82f8aec1z 
.
это, если, конечно, пока я не добавлю продукт в корзину, то я получу постоянную корзину, что -то вроде hwn2cubdcg4axclftjnh761l? Key = 285D69273147954feed138de29d4f8b7 .
Дело в том, что GID не будет установлен, пока я не могу отслеживать. Я имею в виду, что я пытаюсь получить /cart.js < /code> после того, как добавление в корзину было завершено, но я все равно получу временную идентификатор корзины, но если я получу /cart.js < /code> через несколько секунд, я получу постоянную GID. Как бы вы порекомендовали мне это сделать?

Подробнее здесь: https://stackoverflow.com/questions/797 ... o-the-cart
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»