Join us for an upcoming Shopify Partner webinar on February 27, 2024. Discover the latest Checkout Extensibility features, and deep dive on improvements to Shopify Functions and Web Pixels. Register now for either the 10am EST or 2pm EST sessions.

blocked by CORS when accessing the Cart graphQL query root

alexdeveloper
Shopify Partner
1 0 2

I've just migrated from the Checkout queryroot to the Cart queryroot.

For some reason, only queries accessing this Cart queryroot are blocked, and a 500 error is logged:

 

Access to XMLHttpRequest at 'https://XXX.myshopify.com/api/2022-10/graphql.json' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

 

Queries to other areas like Products and Collections function and fetch the relevant data.

GraphQL endpoint: 

 
Cart Query:
query getCartItemCount($cartId: ID!) {
  node(id: $cartId) {
    ... on Cart {
      __typename
      lines(first: 250) {
        nodes {
          quantity
        }
      }
    }
  }
}


Building on NextJS, this occurs on localhost & a deployed instance with HTTPS.

Please help!

Reply 1 (1)

dimasidor3nk0
Shopify Partner
1 0 0

It's an old question, but I recently got the same issue and couldn't find the answer. It is frustrating.

I finally solved it. Maybe it will be helpful for someone else.

In my case the issue was that when I migrated from Checkout to Cart I used a `node` query like for Checkout:

 

query Cart(
  $id: ID!
) {
  cart: node(id: $id) {
    ... on Cart {
      ...CartFragment
    }
  }
}

 

When I changed it to a `cart` query the error is gone.

 

query Cart(
  $id: ID!
) {
  cart(id: $id) {
      ...CartFragment
  }
}