What's your biggest current challenge? Have your say in Community Polls along the right column.
Our Partner & Developer boards on the community are moving to a brand new home: the .dev community forums! While you can still access past discussions here, for all your future app and storefront building questions, head over to the new forums.

blocked by CORS when accessing the Cart graphQL query root

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
  }
}