2016-10-13 9 views
0

Ich entwickle ein Shopify Geschäft mit ihrer API. Aber ich habe einen ziemlich großen Haken gefunden, der einfach scheint, aber ich kann nicht reparieren.GET cart.js leer | shopify

Ich habe alle Produkte und ihre Varianten erfolgreich angesehen. Ich kann auch ein Produkt/eine Variante zum Warenkorb hinzufügen. Es ist "erfolgreich", weil ich einen Status von 200 bekomme UND ich kann sehen, welche Produkte mit meinem Shopify Konto hinzugefügt werden. Alles an diesem Ende funktioniert.

Wenn ich den Einkaufswagen mit GET-Anfrage aufrufen, kann ich den Einkaufswagen sehen, aber es ist komplett leer (item_count: 0). Ich habe versucht, verschiedene Produkte/Varianten hinzuzufügen. Es ist immer leer.

Fehle ich etwas? Muss ich den Wagen anders rufen?

Vielen Dank im Voraus!

+0

Versuchen Sie, Ihre eigene Add-in-Cart-Funktion für einen Shopify-Standardspeicher zu erstellen? Bitte geben Sie einen Kontext und Beispielcode an. – bknights

+0

Meine Vermutung ist, dass Sie den Add-to-Cart-Endpunkt nicht richtig treffen. Stellen Sie sicher, dass Sie auf "/ cart/add.js" veröffentlichen und dass die Daten (mindestens) eine gültige Varianten-ID enthalten. (Die Verwendung der serialisierten Form ist besser, da dadurch sichergestellt wird, dass auch die von verschiedenen Apps festgelegten Eigenschaften durchkommen). Ich habe genügend Shopify Ajax Calls geschrieben, dass ich den 'Post' bei Gelegenheit vergessen habe, und das gibt einen 200 (Yup! Got the page!) Zurück, ohne etwas zu tun, was mich fragt, was "Dinge aus dem Weg räumen" einige Momente. –

+0

Nachdem Sie den Add-to-Cart-Endpunkt erreicht haben, können Sie auch manuell zu [yrstore] /cart.js navigieren, um zu sehen, was sich gerade in Ihrem Einkaufswagen befindet. Normalerweise habe ich eine separate Registerkarte geöffnet, um die Rohdatenansicht beim Testen ständig zu aktualisieren. Eine Browser-Erweiterung wie JSONview ist dafür Ihr Freund, wenn Sie ihn noch nicht haben. –

Antwort

0

Wenn Sie die Datei cart.js abfragen und die Anzahl Ihrer Artikel null ist, bedeutet das, dass Sie nichts in den Einkaufswagen legen konnten. Wenn du Gegenstände in den Einkaufswagen legst und sie bestätigst, dass sie sich tatsächlich im Einkaufswagen befinden, und du einen GET auf cart.js machst, wenn dieser Anruf noch leer ist, dann hast du wirklich Pech und machst wahrscheinlich nur einen wirklich dummen Fehler in Ihrem GET-Anruf.

+1

Ich habe das gleiche Problem, und was ist Fremder ist, dass, wenn ich direkt check/cart ich Elemente innerhalb bekommen, aber /cart.js ist immer noch leer leere Liste. – Gapipro

+0

Es gibt viele Möglichkeiten, Daten an den Wagenendpunkt zu senden und einen gültigen Einkaufswagen und viele weitere Möglichkeiten zu erhalten, dies auf ungültige Weise zu tun. Da Sie Artikel im Warenkorb sehen können, sehen Sie, wenn Ihre GET-Anfrage korrekt ist, sie nicht item_count = 0. Überprüfen Sie Ihre GET-Anfrage sehr sorgfältig. Sie haben wahrscheinlich ein Problem damit. Inspizieren Sie mit einem Werkzeug wie Charles. Oft können die einfachsten Dinge die besten Absichten auf den angeblich einfachsten Dingen besiegen. –

+0

Es ist nichts falsch mit GET-Anfrage (Kann durch den Besuch dieser URL direkt im Browser überprüft werden, wo ich immer noch leere Liste). Was hier vorkommt, ist, dass Shopify Probleme mit der ungültigen /cart.js Anfrage hat, wenn der Warenkorb aktualisiert wird, weil ich in den Headern (cf-cache-status: HIT) sehen kann, dass /cart.js immer wieder zwischengespeichert wird Version von Cloud Flare. – Gapipro