Search code examples
javascriptreactjsexpressgraphqlapollo

Network error: Unexpected token < in JSON at position 0 at new ApolloError


enter image description here

const httpLink = createHttpLink({
  uri: 'http://localhost:3090/'
})

const client = new ApolloClient({
  link: httpLink,
  cache: new InMemoryCache()
})

client.query({
  query: gql`
    query users {
        email
    }
  `,
})
  .then(data => console.log(data))
  .catch(error => console.error(error));

This query gives an error when fetching from client-side code but when i execute this query in browser on http://localhost:3090/graphql it fetches data correctly


Solution

  • The graphql endpoint you are posting your queries to is missing the /graphql. So your server probably returns an html document containing the 404 error message that starts with < from <html.... Apollo tries to parse that as the query result and fails to do so.

    Check that httpLink is actually localhost:3090/graphql.

    Also the syntax of a query is either:

    {
        users {
            email
        }
    }
    

    or if you want to name the query:

    query Users {
        users {
            email
        }
    }